Comments (8)
Oddly enough raising the limit to 512k seems to have a positive effect. Will persist the change and see if it the effect persists.
sudo bash -c 'echo "fs.inotify.max_user_watches=524288" >> /etc/sysctl.conf'
It's not spam when it's educational ;) :)
from duetsoftwareframework.
Not sure how this is done in Debian but on Arch Linux /run
is of type tmpfs
(i.e. similar to a ramdisk) and as such shares space with all other tmpfs
-typed mounts. The only one really using up space usually is /tmp
. Can you check with
df -h
how much space is available and if my assumption is correct that /tmp
is holding all the space can you also check what uses all the space in there?
from duetsoftwareframework.
similar, and there is plenty of space
pi@duet3:~ $ df -h
Filesystem Size Used Avail Use% Mounted on
/dev/root 15G 1.9G 13G 14% /
devtmpfs 459M 0 459M 0% /dev
tmpfs 464M 0 464M 0% /dev/shm
tmpfs 464M 12M 452M 3% /run
tmpfs 5.0M 4.0K 5.0M 1% /run/lock
tmpfs 464M 0 464M 0% /sys/fs/cgroup
/dev/mmcblk0p1 44M 23M 21M 52% /boot
tmpfs 93M 0 93M 0% /run/user/1000
Google seems to suggest it could be related to number of inodes being able to be watched, but not my area of expertise. I just find it strange it only applies to the webserver. Its not an actual problem, but maybe something worth being aware of before it turns into a problem when released to the masses.
from duetsoftwareframework.
Can you check with
cat /proc/sys/fs/inotify/max_user_watches
how many watches are configured and with
sudo lsof -K | grep inotify | less
(you might need to install lsof
) what uses up all of these? I am no where near the limit (on my machine 512K watches allowed vs. ~30 watches active).
EDIT: This might need to be configured differently and as such go into the installation instructions.
from duetsoftwareframework.
Less configured, but about same amount used (varied around 30-40-ish), mostly DuetWebServer. And should be plenty free.
pi@duet3:~ $ cat /proc/sys/fs/inotify/max_user_watches
8192
$ sudo lsof -K | grep inotify
sd-resolv 280 326 systemd-timesync 11r a_inode 0,11 0 5804 inotify
gmain 2416 2417 root 8r a_inode 0,11 0 5804 inotify
gmain 2416 2417 root 9r a_inode 0,11 0 5804 inotify
gdbus 2416 2419 root 8r a_inode 0,11 0 5804 inotify
gdbus 2416 2419 root 9r a_inode 0,11 0 5804 inotify
DuetWebSe 5333 5337 root 95r a_inode 0,11 0 5804 inotify
DuetWebSe 5333 5337 root 99r a_inode 0,11 0 5804 inotify
DuetWebSe 5333 5338 root 95r a_inode 0,11 0 5804 inotify
DuetWebSe 5333 5338 root 99r a_inode 0,11 0 5804 inotify
DuetWebSe 5333 5339 root 95r a_inode 0,11 0 5804 inotify
DuetWebSe 5333 5339 root 99r a_inode 0,11 0 5804 inotify
DuetWebSe 5333 5340 root 95r a_inode 0,11 0 5804 inotify
DuetWebSe 5333 5340 root 99r a_inode 0,11 0 5804 inotify
DuetWebSe 5333 5341 root 95r a_inode 0,11 0 5804 inotify
DuetWebSe 5333 5341 root 99r a_inode 0,11 0 5804 inotify
DuetWebSe 5333 5342 root 95r a_inode 0,11 0 5804 inotify
DuetWebSe 5333 5342 root 99r a_inode 0,11 0 5804 inotify
DuetWebSe 5333 5343 root 95r a_inode 0,11 0 5804 inotify
DuetWebSe 5333 5343 root 99r a_inode 0,11 0 5804 inotify
DuetWebSe 5333 5344 root 95r a_inode 0,11 0 5804 inotify
DuetWebSe 5333 5344 root 99r a_inode 0,11 0 5804 inotify
DuetWebSe 5333 5345 root 95r a_inode 0,11 0 5804 inotify
DuetWebSe 5333 5345 root 99r a_inode 0,11 0 5804 inotify
DuetWebSe 5333 5350 root 95r a_inode 0,11 0 5804 inotify
DuetWebSe 5333 5350 root 99r a_inode 0,11 0 5804 inotify
DuetWebSe 5333 5353 root 95r a_inode 0,11 0 5804 inotify
DuetWebSe 5333 5353 root 99r a_inode 0,11 0 5804 inotify
DuetWebSe 5333 5354 root 95r a_inode 0,11 0 5804 inotify
DuetWebSe 5333 5354 root 99r a_inode 0,11 0 5804 inotify
DuetWebSe 5333 5359 root 95r a_inode 0,11 0 5804 inotify
DuetWebSe 5333 5359 root 99r a_inode 0,11 0 5804 inotify
DuetWebSe 5333 9660 root 95r a_inode 0,11 0 5804 inotify
DuetWebSe 5333 9660 root 99r a_inode 0,11 0 5804 inotify
DuetWebSe 5333 9881 root 95r a_inode 0,11 0 5804 inotify
DuetWebSe 5333 9881 root 99r a_inode 0,11 0 5804 inotify
DuetWebSe 5333 9917 root 95r a_inode 0,11 0 5804 inotify
DuetWebSe 5333 9917 root 99r a_inode 0,11 0 5804 inotify
from duetsoftwareframework.
Wow, 8K that is... crazy low default value. Still, as you said, this should be plenty.
I have not yet seen this message on my Arch Pi but then again I cannot run DuetWebServer as systemd unit in the first place. Strange. Now I stop spamming. ;-)
from duetsoftwareframework.
This might be related to my latest findings in #29.
from duetsoftwareframework.
Should be fixed in DWS 1.1.0.0 - it's probably related to the amount of inotify items.
from duetsoftwareframework.
Related Issues (20)
- x86_64 Builds HOT 6
- Marlin emulation not always returning command status. HOT 3
- [Bug]: Stuck on M905 during startup HOT 3
- [FeatureRequest]: Configurable path to systemctl or fallback HOT 5
- Add support for standalone rr_ HTTP calls HOT 1
- Make libraries trimmable HOT 1
- Implement file enumerations via SBC
- Enforce parameter values for G/M/T codes HOT 2
- [Bug]: stats fails to get file info on recent kernels HOT 1
- "sbcPythonDependencies" should not fail on builtin modules HOT 10
- Add emulation of M409 to add support for USB drives when PanelDue is attached
- Decimal places in analog readings in SBC mode
- Report line numbers of errors HOT 1
- Fix libcamerify support with webcam plugin permission on Debian Bullseye HOT 1
- Add support for fileread() HOT 1
- Add support for single-quoted values HOT 1
- Add support for decimal data type HOT 3
- Implement new M-codes to handle plugins
- Pass line and column numbers to expression evaluation requests
- Check SPI link error recovery after RRF encounters a header checksum error HOT 1
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from duetsoftwareframework.