Я имею дело с сотнями миллионов файлов в файловой системе (распределенной по множеству подкаталогов), и мне нужно иметь возможность очень быстро перечислить их, особенно для их эффективной rsync.
С другой стороны, мне действительно не нужно, чтобы фактическое содержимое файла хранилось в кеше.
Я постоянно добавляю и удаляю файлы, но не так часто (примерно десять раз в секунду).
Есть ли способ указать ОС (2.6.18-194.el5) использовать 24 ГБ доступной оперативной памяти больше при кэшировании inode, чем при кешировании файлов? Я уже смотрел / proc / etc / vm / vfs_cache_pressure, но, похоже, это не совсем то, что я ищу ...
Как насчет снижения стоимости vfs_cache_pressure
? В соответствии с Документация для / proc / sys / vm / * это должно делать то, что вы хотите:
vfs_cache_pressure
Это процентное значение контролирует тенденцию ядра освобождать память, которая используется для кэширования объектов каталога и inode.
При значении по умолчанию vfs_cache_pressure = 100 ядро будет пытаться восстановить данные и индексные дескрипторы с «справедливой» скоростью по отношению к кэшу страниц и кэшу подкачки. Уменьшение vfs_cache_pressure приводит к тому, что ядро предпочитает сохранять кеши dentry и inode. Когда vfs_cache_pressure = 0, ядро никогда не будет восстанавливать данные и индексные дескрипторы из-за нехватки памяти, и это может легко привести к нехватке памяти. Увеличение vfs_cache_pressure выше 100 заставляет ядро предпочитать возвращать данные о данных и индексах.
Увеличение vfs_cache_pressure значительно выше 100 может отрицательно сказаться на производительности. Код восстановления должен принимать различные блокировки, чтобы найти свободный каталог и объекты inode. При vfs_cache_pressure = 1000 он будет искать в десять раз больше свободных объектов, чем их есть.
вы можете использовать эти 2 команды для выполнения одной и той же работы.
Обновленоb (для обновления списка расположения файлов и папок на всем диске)
найдите / (чтобы перечислить все файлы во всей ОС, что быстро становится легче, поскольку она берет их из базы данных)