Безопасность и оптимизация Linux.Редакция для Red Hat

Увеличьте системные ограничения на открытые файлы.


Процесс в Red Hat 6.0 с ядром 2.2.5 может открыть не меньше 31000 файловых дескрипторов и процесс на ядре 2.2.12 – не меньше 90000 файловых дескрипторов (согласно установленным ограничениям). Верхняя граница зависит от доступной памяти. Увеличение этого числа до 90000 для пользователя root делается следующим образом:

Редактируйте файл /root/.bashrc:
ulimit -n 90000

Теперь вы должны выйти и вновь войти на сервер. Для проверки, что вы все сделали правильно дайте команду (как root):
ulimit –a в строке с open files должен быть текст “90000”.
[root@deep]# ulimit -a


core file size (blocks) 1000000


data seg size (kbytes) unlimited


file size (blocks) unlimited


max memory size (kbytes) unlimited


stack size (kbytes) 8192


cpu time (seconds) unlimited


max user processes unlimited


pipe size (512 bytes) 8


open files 90000 (эта строка).


virtual memory (kbytes) 2105343

Замечание. В более старых 2.2 ядрах, тем не менее, число открытых файлов одним процессом все еще ограничено 1024, даже с вышеупомянутыми изменениями.

Атрибут “atime”.

В дополнении к информации о дате создания и последней модификации файла, Linux создает запись о последнем обращении к файлу. Эта информация не очень полезна и при этом происходят затраты системных ресурсов на ее ведение. Файловая система ext2 позволяет суперпользователю маркировать отдельные файлы, чтобы запись о времени последнего доступа к ним не велась. Это может существенно улучшить эффективность системы, особенно, если установить этот атрибут для часто используемых файлов, например, “/var/spool/news”.

Для установки атрибута:
[root@deep]# chattr +A filename

Для всех файлов в каталоге:
[root@deep /root]# chattr -R +A /var/spool/


[root@deep /root]# chattr -R +A /cache/


[root@deep /root]# chattr -R +A /home/httpd/ona/



Содержание раздела