Назад | Перейти на главную страницу

настройка параметров кеша Linux для кеширования inode

Я имею дело с сотнями миллионов файлов в файловой системе (распределенной по множеству подкаталогов), и мне нужно иметь возможность очень быстро перечислить их, особенно для их эффективной 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 (для обновления списка расположения файлов и папок на всем диске)

найдите / (чтобы перечислить все файлы во всей ОС, что быстро становится легче, поскольку она берет их из базы данных)