В данной маленькой статейке я научу Вас понимать и находить причины умертвления процессов на сервере. Многие люди задаются вопросом почему процесс был запущен и потом исчез (упал)

1. Заходим под root в VDS сервер и вводим следущее.

cat /proc/user_beancounters


2. При вводе выйдет информация в столбиках похожее на следущее.

[root@server]# cat /proc/user_beancounters
Version: 2.5
      uid  resource           held    maxheld    barrier      limit    failcnt
     130:  kmemsize        3030706    4479695 2147483646 2147483646          0
           lockedpages           0          0     999999     999999          0
           privvmpages       22725      30387  255999744  255999744          0
           shmpages            685       1981     128000     128000          0
           dummy                 0          0          0          0          0
           numproc              34         57     999999     999999          0
           physpages          4454      19347          0 2147483647          0
           vmguarpages           0          0     128000 2147483647          0
           oomguarpages       5947      19347     128000 2147483647          0
           numtcpsock           67        144    7999992    7999992          0
           numflock              3         16     999999     999999          0
           numpty                1          1     500000     500000          0
           numsiginfo            0          9     999999     999999          0
           tcpsndbuf        622340     789288  104857600  286883840          0
           tcprcvbuf       3575720    6756184  104857600  286883840          0
           othersockbuf       8244      73424  104857600  286883840          0
           dgramrcvbuf           0       8380  104857600  286883840          0
           numothersock         13         36    7999992    7999992          0
           dcachesize            0          0 2147483646 2147483646          0
           numfile            1421       2019   23999976   23999976          0
           dummy                 0          0          0          0          0
           dummy                 0          0          0          0          0
           dummy                 0          0          0          0          0
           numiptent            18         18     999999     999999          0

3. Проверяем колонку failcnt. В данном случае вся колонка содержит нули (0). Но значения могут быть различны. Может быть 1, 2 и другие. По названиям колонок определяем в чем проблема. В основном (чаще всего) проблемы возникают из за того что ваш vds используем много памяти или больше памяти чем позволено, и процессы убиваются из за недостатка памяти для их работы.

Ниже приведена расшифровка каждого параметра:

numproc – Максимальное количество процессов и тредов (потоков).
numothersock – Максимальное количество TCP-сокетов.
vmguarpages – Гарантированный объем оперативной памяти, которая может быть запрошена стандартными механизмами резервирования памяти в Linux.
kmemsize – Память ядра — объем оперативной памяти, выделяемый для внутренних структур данных ядра, связанных с процессами виртуального сервера. Каждый процесс запрашивает как минимум 24 Кб таких данных. Средний процесс использует 30—60 Кб ядерной памяти. Большие процессы, такие как Apache и MySQL, могут использовать гораздо больше.
tcpsndbuf – Суммарный размер буферов, которых может быть использован для отправки данных через TCP-соединения.
tcprcvbuf – Суммарный размер буферов, которых может быть использован для приема данных через TCP-соединения.
othersockbuf – Суммарный размер буферов, которые могут быть использованы как для приема, так и для отправки данных через локальные сокеты, а также буферы, используемые для отправки данных по протоколу UDP.
dgrampages – Суммарный размер буферов, которые могут быть использованы для приема данных через UDP-соединения.
privvmpages – Объем оперативной памяти, которая может быть запрошена процессами виртуального
сервера системным вызовом malloc и другими стандартными механизмами резервирования памяти в Linux.
oomguarpages – Гарантированный объем оперативной памяти, превышение которого вызовет сигнал outof-memory.
lockedpages – Объем памяти, которая может быть заблокирована с помощью системного вызова mlock.
Этот объем включен в kmemsize.
shmpages – Общий объем разделяемой оперативной памяти (IPC). Этот параметр включен в privvmpages.
numfile – Максимальное количество открытых файлов.
numflock – Максимальное количество возможных блокировок файлов.
numpty – Максимальное количество псевдо-терминалов.
numsiginfo – Максимальное количество siginfo-структур. Размер структуры включен в kmemsize.
dcachesize – Объем памяти, необходимый для блокировки dentry- и inode-структур. Объем этой памяти включен в kmemsize.
numiptent – Максимальное количество записей в firewall (netfilter).