Я успешно использовал TrafMeter для того, чтобы сделать это, для 50 компаний человека, его дешевого и работ вполне прилично для сбора необработанных данных. Это может зарегистрироваться к базе данных SQL или базе данных Access. Данные, которые Вы вынимаете, являются необработанными сетевыми данными, так, возможно, должен был бы отфильтровать и представить данные хорошим способом, если Ваш побеспокоенный.
Если Ваш процесс запускается с помощью сценария, можно поместить вызов в ulimit в сценарии только до казни демона.
Если Вы хотите увеличить ulimit для своего пользователя, или для всех пользователей, можно установить пределы, которые применяются через pam_limits
на входе в систему. Они установлены в /etc/security/limits.conf
. В Вашем случае Вы могли сделать что-то как:
* hard nofile 2048
Обратите внимание, что "трудно" обозначает жесткий предел - тот, который не может быть превышен и не может быть изменен. Мягкий предел может быть изменен пользователем (например, кто-то без корневых возможностей), но не вне жесткого предела.
Читайте limits.conf
для получения дополнительной информации об использовании pam_limits
.
Существует также "общее количество макс." открытого набора файлов в ядре, можно проверить текущую установку с:
cat /proc/sys/fs/file-max
И установленный новое значение с:
echo "104854" > /proc/sys/fs/file-max
Если Вы хотите сохранить конфигурацию между перезагрузками, добавляют
sys.fs.file-max=104854
кому:
/etc/sysctl.conf
Проверять текущее макс. использование файла:
[root@srv-4 proc]# cat /proc/sys/fs/file-nr
3391 969 52427
| | |
| | |
| | maximum open file descriptors
| total free allocated file descriptors
total allocated file descriptors
(the number of file descriptors allocated since boot)
Поскольку другие сказали, что можно применить определенные пределы на пользователя или группу в/etc/security/limits.conf.
Примечание: ulimit-n показывает мягкий предел.
ulimit -H -n
покажет Вам жесткий предел.
Это делает ulimit-a, и ulimit-n производят довольно сбивающий с толку, если бы, например, Вы увеличивали число файлов от 1 024 до 4 096, поскольку Вы ожидали бы видеть вывод жесткого предела, но Вы все еще видите 1024, который является мягким пределом.
Кроме того, помните, что эти пределы осуществляются на вход в систему, таким образом повторно войдите в систему в новой оболочке и проверьте свои изменения, не ожидайте, что они будут распространены к существующим логинам.
Это зависит от того, как Вы запускаете свой продолжительный процесс. Если это запускается во время начальной загрузки (через/etc/rcX.d /* сценарии) затем, необходимо поместить вызов ulimit в сценарий запуска, поскольку предел по умолчанию устанавливается ядром, и это не является настраиваемым, не перекомпилировав его.
Используя /etc/security/limits.conf
мог работать, если Вы используете cron
запустить его, например, с записи как это:
@reboot $HOME/bin/my-program
Это должно работать, потому что/etc/pam.d/cron включает pam_limits.so.
Имейте в виду, что если вы запустите свой процесс с помощью start-stop-daemon, установка ulimits в /etc/security/limits.conf не сработает. Если вы, например, хотите увеличить лимит открытых файлов для tomcat до 20000, вам нужно добавить их в строки в / etc / default / tomcat
:
ulimit -Hn 32768
ulimit -Sn 32768
Я столкнулся с этой проблемой в debian 6.0.4 Для другого процесса данные ответы должны помочь.
Очень хорошая команда - ulimit -n
, но есть проблема со слишком большим количеством подключений и слишком большим количеством открытые файлы:
core file size (blocks, -c) 0
data seg size (kbytes, -d) unlimited
scheduling priority (-e) 0
file size (blocks, -f) unlimited
pending signals (-i) 519357
max locked memory (kbytes, -l) 32
max memory size (kbytes, -m) unlimited
open files (-n) 1024
pipe size (512 bytes, -p) 8
POSIX message queues (bytes, -q) 819200
real-time priority (-r) 0
stack size (kbytes, -s) 10240
cpu time (seconds, -t) unlimited
max user processes (-u) 1024
virtual memory (kbytes, -v) unlimited
file locks (-x) unlimited
Вы можете добавить это в /etc/security/limits.conf
root soft nofile 100000
root hard nofile 100000
save then reboot.
.