В Linux можем да използваме командата ulimit -n, за да видим максималния брой файлови дескриптори, които един процес може да отвори (също така се броят и връзките с сокети). системаПо подразбиране стойността е 1024。
За общи приложения (като Apache, системни процеси) 1024 е напълно достатъчен. Въпреки това, тя е малко разтегната за еднопроцесни приложения като Squid, MySQL и Java. Ако броят на файловите дескриптори, отворени от един процес, надвишава системно дефинираната стойност, се споменава съобщението за грешка "твърде много файлове отворени".
Вижте максималния брой файлови дескриптори, зададени от системата
LSOF (List Open Files) е инструмент, който изброява файловете, които в момента са отворени в системата. В Linux средата всичко съществува под формата на файлове, чрез които могат да се достъпват не само общи данни, но и мрежови връзки и хардуер. Така че във фонов режим, като например Transmission Control Protocol (TCP) и User Datagram Protocol (UDP), системата присвоява файлов дескриптор на приложението, независимо от естеството на файла, който осигурява общ интерфейс за взаимодействието между приложението и основната операционна система. Тъй като списъкът с дескриптори за отворените файлове на приложението предоставя много информация за самото приложение, наличието на LSOF инструмента за преглед на този списък ще бъде много полезно за мониторинг и отстраняване на проблеми.
Командата за инсталация е следната:
Преброй общия брой файлови дескриптори, които в момента са отворени в системата:
Начини за преглед на броя файлови дескриптори, отворени от процеса на кандидатстване:
Set ulimit
Временни настройки
Всъщност самата команда ulimit е разделена на меки и твърди ограничения, plus-h е твърдото ограничение, а плюс-s е мекото ограничение. По подразбиране се показват меките лимити, ако не добавите -H или -S при изпълнение на командата ulimit за модификация, двата параметъра се променят заедно.
Каква е разликата между меките и твърдите граници?
Твърд лимит е действителният лимит, докато мекият лимит е предупредителен лимит, който дава само предупреждение.
Постоянна обстановка
Стойността ulimits е постоянна и конфигурационният файл /etc/security/limits.conf трябва да бъде модифициран
(Край)
|