Я использую Sun JDK 1.6.0_26 и NIO (с Netty), и в lsof я вижу сотни файловых дескрипторов, которые anon_inode
:
$ lsof -np 11225 | fgrep -w anon_inode
java 11225 nobody 57u 0000 0,9 0 1386 anon_inode
java 11225 nobody 61u 0000 0,9 0 1386 anon_inode
java 11225 nobody 65u 0000 0,9 0 1386 anon_inode
java 11225 nobody 69u 0000 0,9 0 1386 anon_inode
java 11225 nobody 73u 0000 0,9 0 1386 anon_inode
java 11225 nobody 77u 0000 0,9 0 1386 anon_inode
java 11225 nobody 81u 0000 0,9 0 1386 anon_inode
java 11225 nobody 86u 0000 0,9 0 1386 anon_inode
java 11225 nobody 89u 0000 0,9 0 1386 anon_inode
java 11225 nobody 93u 0000 0,9 0 1386 anon_inode
java 11225 nobody 97u 0000 0,9 0 1386 anon_inode
[...]
Я не смог найти четкого объяснения того, что такое анонимный инод, я посмотрел на fs/anon_inodes.c
в дереве исходных кодов ядра Linux, и кажется, что, возможно, epoll
использует его, но я не уверен, почему я было бы так много. У меня есть несколько «циклов epoll» и потоков таймера, но не так много, как мое число anon_inode
.