GitKraken是一个非常优秀的Git客户端。如果您是软件开发人员,那么您绝对应该试试GitKraken。今天我去了我的一个存储库做了一些提交,但是GitKraken告诉我它已经得到了Inotify Limit Error,并且我需要增加这个限制。事实证明这个问题与GitKraken无关,也很容易修复。
![](https://i-blog.csdnimg.cn/blog_migrate/811462ee7cf7827e70bef8e469777e79.png)
打开相关存储库后,GitKraken显示了一条包含此消息的通知窗口:
Inotify Limit Error对此存储库禁用文件监视。请增加inotify限制并重新打开此存储库。
以前GitKraken在打开相同的存储库时发出消息,它没有找到“ Compatible Repository ”,它甚至拒绝打开存储库。事实是,存储库很好,我使用git做我的提交没有问题。Inotify Limit可能会对GitKraken产生某种影响,导致GitKraken说它无法找到兼容的存储库。我已经向GitKraken团队发送了一个查询,但没有收到回复。
什么是Inotify?
来自维基百科:
Inotify(inode notify)是一个Linux内核子系统,用于扩展文件系统以注意对文件系统的更改,并将这些更改报告给应用程序。
一个主要用途是在Beagle这样的桌面搜索实用程序中,其功能允许重新编制已更改文件的索引,而无需每隔几分钟扫描文件系统进行更改,这将是非常低效的。
由于GitKraken自动注意到工作区中文件的变化,显然它必须在Linux上使用这个子系统。由于我使用的是Deebin,这适用于我。
修改Inotify限制
输入以下命令:
$ cat /proc/sys/fs/inotify/max_user_watches 8192
这是您计算机的限制。
每个inotify手表都会消耗适量的内存。在像这样的64位计算机上,每个消耗1 KB,因此8,192个手表消耗大约8 MB的内存。在16GB的主内存计算机上,这是一个下降的桶。
暂时增加限制就是这么简单:
# echo 99999 > /proc/sys/fs/inotify/max_user_watches
之后你会得到这个:
$ cat /proc/sys/fs/inotify/max_user_watches 99999
要进行永久性更改,请fs.inotify.max_user_watches=
在sysctl设置中进行设置。在某些系统(Debian / Ubuntu / etc)上,这些设置在/etc/sysctl.conf
其他一些系统中,并且在其他系统中会有一个文件/etc/sysctl.d
。
编辑sysctl设置后,运行以下命令:
# sysctl -p fs.inotify.max_user_watches = 99999
把它放在一行:
# echo fs.inotify.max_user_watches=99999 | sudo tee -a /etc/sysctl.conf && sudo sysctl -p
或者在某些其他系统上:
# echo fs.inotify.max_user_watches=99999 | sudo tee /etc/sysctl.d/40-max-user-watches.conf && sudo sysctl --system