-
Notifications
You must be signed in to change notification settings - Fork 213
The configured user limit (128) on the number of inotify instances has been reached... #411
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Comments
You can add these to
This error occurs when listening for a large number of files on Linux. |
It'd be nice to find a solution without changing systemfiles which never were needed to be changed. |
Using
Note When a repository is opened in The main difference: |
Another test
It seems like that when we create a new |
According to the test results, the FDs did not increase beyond the expected situation. |
The upper limit that is usually reached is
It can be observed that IDEA only creates two instances. I think SourceGit can also consider reducing the number of inotify instances created.
Edit: the script is https://github.com/fatso83/dotfiles/blob/master/utils/scripts/inotify-consumers |
test.mp4@gadfly3173 I've test with this script https://github.com/fatso83/dotfiles/blob/master/utils/scripts/inotify-consumers It shows when a repository is opened, 2 instances (needed by 2 FileSystemWatcher) are created. Could you help me to test that what's the result when multiple instance of IDEA opened with different project? (We need to listen different paths not just one project) |
The previously mentioned IDEA creates only two instances is the situation when four different projects are opened.
reduce to 2 project:
Rider with SourceGit repository:
|
I think we can use single instance of inotify subsystem on Linux if we use P/Invoke and call EDIT: |
Here is Gitkraken with 6 opened repositories. And I think this is a dotnet-runtime issue: dotnet/runtime#62869
|
I took a look at how to listen for filesystem changes in Java and found that starting Java 7, it provides 'java.nio.file.WatchService' and it allows register multiple paths. For example: WatchService watchService = FileSystems.getDefault().newWatchService();
Path path1 = Paths.get("path1");
path1.register(watchService, StandardWatchEventKinds.ENTRY_CREATE);
Path path2 = Paths.get("path2");
path2.register(watchService, StandardWatchEventKinds.ENTRY_CREATE); But in C#, the |
After observing the behavior of Gitkraken, I found that it would prompt |
I've pushed a commit that deals with this in the way public void MarkBranchesDirtyManually()
{
if (_watcher == null)
{
Task.Run(() =>
{
RefreshBranches();
RefreshCommits();
});
Task.Run(RefreshWorkingCopyChanges);
Task.Run(RefreshWorktrees);
}
else
{
_watcher.MarkBranchDirtyManually();
}
}
public void MarkWorkingCopyDirtyManually()
{
if (_watcher == null)
Task.Run(RefreshWorkingCopyChanges);
else
_watcher.MarkWorkingCopyDirtyManually();
} |
I've got an error when opening a repository on linux (Zorin OS / Ubuntu).
The text was updated successfully, but these errors were encountered: