mikesart / inotify-info

Linux inotify info reporting app
MIT License
298 stars 31 forks source link

THANK YOU! #40

Closed frederikheld closed 6 months ago

frederikheld commented 6 months ago

OMG, this tool is wonderful! Thanks a lot! Not only did it help me to debug my system's sluggishness (I knew that it was related to file watchers but I did not know which application was flooding inotify), it was also super easy to set up.

Usually I try to avoid software from GitHub that needs to be built with make first because it is never just as easy as running make. I've never had any make run through without the need to fix barely documented dependency issues.

But your software just works and this is awesome!

Nevertheless, this software should become a default package in Ubuntu or at least be easily available via apt. Or maybe they should just increase the watcher limits by default :-D

motiejus commented 6 months ago

But your software just works and this is awesome!

I tend to agree. All kudos to @mikesart . :)

Nevertheless, this software should become a default package in Ubuntu or at least be easily available via apt. Or maybe they should just increase the watcher limits by default :-D

You are welcome to publish an Ubuntu package. Note that it may be easier to get started in Debian -- with time, ubuntu will just pick it up. We already have this packaged in NixOS.

mikesart commented 6 months ago

You're both very kind, and Motiejus has been putting a lot of work in the past several months so it's definitely not just me now. Glad it's been useful for you both! Thanks so much and have a great week!

frederikheld commented 6 months ago

So thanks to the community then <3

You are welcome to publish an Ubuntu package. Note that it may be easier to get started in Debian -- with time, ubuntu will just pick it up. We already have this packaged in NixOS.

Lol, no thanks. I'm not gonna publish anything on Debian XD The ancient mailing list system is a mess that I am not willing to get myself into again. I made the mistake once to get too close to it and just went through several months of an "unsubscribing process" to get rid of the spam :-P Sry. We live in 2024. The boomerish tech gatekeeping is just too much for me to handle :-D It's a miracle that they don't require a fax machine to participate.

Arcitec commented 1 month ago

(Edit: I wrote a small guide on your repo for people who want to raise their limits permanently.)

@mikesart I have to say thank you too! :heart:

You just solved the reason for why my Linux desktop was completely breaking and no applications could start anymore.

Turns out it was caused by GitKraken registering 61 (!) File Watcher INSTANCES. The per-user INSTANCE limit is 128 in total for all applications. And well-written applications only register 1 instance, and then uses that instance for registering the actual file watching.

I have contacted them about this bug in their application. It's bugged at the moment (10.3.0) but hopefully they'll fix it in the next version.

Without inotify-info, I would have never known!

This also helps explain why GitKraken often threw errors about "failed to watch repository" randomly. :) Because it was itself consuming too many watcher instances haha.

./inotify-info
------------------------------------------------------------------------------
INotify Limits:
  max_queued_events    16,384
  max_user_instances   128
  max_user_watches     492,830
------------------------------------------------------------------------------
       Pid Uid        App                            Watches  Instances
     89989 1000       xdg-desktop-portal-gnome           119          1
     89849 1000       gsd-xsettings                      110          1
     90086 1000       xdg-desktop-portal-gtk             109          1
     94124 1000       gitkraken                           61         61
     88870 1000       uresourced                          42          1
     89371 1000       gnome-software                      22          1
     89308 1000       python3.12                          16          2
     88940 1000       gnome-shell                         14          1
     89807 1000       gvfsd-trash                         13          2
     93980 1000       gitkraken                            9          4
     90890 1000       brave                                9          2
     89187 1000       ibus-daemon                          9          1
     94220 1000       node-spawn-server                    8          3
     88872 1000       gnome-session-binary                 7          2
     89332 1000       abrt-applet                          6          1
     89252 1000       evolution-alarm-notify               6          1
     88769 1000       dbus-broker-launch                   5          1
     89241 1000       mailspring                           5          1
     94033 1000       gitkraken                            4          1
     89978 1000       mailspring                           4          1
     93617 1000       1password                            4          1
     90933 1000       brave                                4          1
     89507 1000       flatpak-session-helper               3          1
     90039 1000       mailspring                           2          1
     89148 1000       evolution-source-registry            2          1
     89193 1000       gsd-housekeeping                     2          2
     89913 1000       pika-backup-monitor                  2          1
     90210 1000       tracker-miner-fs-3                   2          2
     89270 1000       flameshot                            2          2
     89611 1000       gvfs-udisks2-volume-monitor          2          2
     89393 1000       xdg-desktop-portal                   2          1
     89257 1000       gsd-sound                            2          1
     88905 1000       wireplumber                          2          3
     89346 1000       pia-client                           2          2
     90857 1000       python3.12                           1          1
     89114 1000       dbus-broker-launch                   1          1
     89907 1000       python3.11                           1          1
     90038 1000       mailspring                           1          1
     89908 1000       ibus-x11                             1          1
     89660 1000       gvfs-afc-volume-monitor              1          1
     89583 1000       ibus-engine-simple                   1          1
     89558 1000       evolution-addressbook-factory        1          1
     89492 1000       evolution-calendar-factory           1          1
     89369 1000       ibus-portal                          1          1
     89342 1000       goa-daemon                           1          1
     89330 1000       ibus-extension-gtk3                  1          1
     89327 1000       ibus-dconf                           1          1
------------------------------------------------------------------------------
Total inotify Watches:   624
Total inotify Instances: 123
------------------------------------------------------------------------------

Edit: Hahaha, GitKraken can get even worse! I raised my limits and checked again. Look at the new instance count! Crazy how bad that bug is. I hope they fix it soon. :)

./inotify-info 
------------------------------------------------------------------------------
INotify Limits:
  max_queued_events    16,384
  max_user_instances   384
  max_user_watches     492,830
------------------------------------------------------------------------------
       Pid Uid        App                            Watches  Instances
    118632 1000       gitkraken                       60,202        105
     89989 1000       xdg-desktop-portal-gnome           119          1
     89849 1000       gsd-xsettings                      110          1
...
------------------------------------------------------------------------------
Total inotify Watches:   60782
Total inotify Instances: 171
------------------------------------------------------------------------------
mikesart commented 1 month ago

Thanks so much for the kind note - very happy this tool was useful!!