skysilver

 
<<< Back

Экспресс контроль состояния циклов в Linux

Консольные команды для оценки времени работы циклов и потребляемой ими ОЗУ.

Время работы

Список циклов MajorDoMo, их время запуска и общее время работы (фильтруем php-процессы).

ps -eo lstart,etime,cmd | awk '/php/ && !/awk|sh/'

ps_php
Как видно, циклы были запущены 18 ноября 2018 года и с тех пор непрерывно работают уже 184 дня и 4 часа.

Аналогично можно оценить работу веб-сервера Apache (120 дней и 16 часов).

ps -eo lstart,etime,cmd | awk '/sql/ && !/awk|sh/'

ps_apache

Или базы данных MySQL (391 день и 22 часа, совпадает с аптаймом сервера).

ps -eo lstart,etime,cmd | awk '/sql/ && !/awk|sh/'

ps_sql

При этом время работы самого сервера определяется традиционной командой uptime, что в моем случае составляет на текущую дату 391 день.
srv_uptime

Потребление ОЗУ

Как известно, с потреблением оперативной памяти в Linux не все так прозрачно. Помимо ипользования свободной ОЗУ в качестве кеша и буфера имеются другие особенности работы ядра с памятью, которые приводят к тому, что такие общепринятые утилиты как ps, top, htop не могут отобразить фактическое потребление процессами памяти. Подробнее про нюансы можно прочесть здесь.

Принимая во внимание вышеуказанные положения, определимся для себя, что под потреблением ОЗУ процессом для наших прикладных задач будем подразумевать значение RSS.

RSS - резидентная память (Resident Set Size). Суммарный объем всех страничных кадров (page frame) процесса в оперативной памяти.

VSZ - виртуальная память (Virtual Memory Size). Суммарный объем всех страниц (page) процесса (в том числе и выгруженных).

Оценка потребления ОЗУ для циклов MajorDoMo.
Снова фильтруем php-процессы, сортируем вывод по RSS, для сравнения также отображаем VSZ (второй столбец), в конце выводим общую статистику.

ps -eo rss,vsz,cmd  --sort -rss | awk '/php/ && !/awk|sh/ && !/sudo -u/' | awk '{ rs=$1/1024; vs=$2/1024; allram+=rs;allps+=1; printf("%7.2f MB ",rs); printf("%7.2f MB ",vs); } { for ( x=3 ; x<=NF ; x++ ) { printf("%s ",$x) } print "" } END {print "All PHP Memory Usage (RSS, MB): "allram; print "Process Count: "(allps); print "Average Proccess Size (MB): "allram/(allps)}'

ram_php

Для веб-сервера Apache.

ps -eo rss,vsz,cmd  --sort -rss | awk '/apache/ && !/awk|sh/' | awk '{ rs=$1/1024; vs=$2/1024; allram+=rs;allps+=1; printf("%7.2f MB ",rs); printf("%7.2f MB ",vs); } { for ( x=3 ; x<=NF ; x++ ) { printf("%s ",$x) } print "" } END {print "All Apache Memory Usage (RSS, MB): "allram; print "Process Count: "(allps); print "Average Proccess Size (MB): "allram/(allps)}'

ram_apache

Для базы данных MySQL.

ps -eo rss,vsz,cmd  --sort -rss | awk '/sql/ && !/awk|sh/ && !/sudo -u/' | awk '{ rs=$1/1024; vs=$2/1024; allram+=rs;allps+=1; printf("%7.2f MB ",rs); printf("%7.2f MB ",vs); } { for ( x=3 ; x<=NF ; x++ ) { printf("%s ",$x) } print "" } END {print "All MySQL Memory Usage (RSS, MB): "allram; print "Process Count: "(allps); print "Average Proccess Size (MB): "allram/(allps)}'

ram_sql

И на последок классика жанра - Помогите! Linux съел мою память!

P.S. Скриншоты приведены для системы с PHP версии 5. На PHP версии 7 отображаемое потребление ОЗУ будет больше, что является вполне штатной ситуацией.

Discuss (3) (23)

See also:
2020-04-06 Получение данных о COVID с карты Яндекс
2019-07-12 MajorDoMo и Яндекс Алиса. Алиса, включи канал Карусель.
2019-06-20 MajorDoMo и Яндекс Алиса. Алиса, измени цвет бра на красный.
2019-06-18 MajorDoMo и Яндекс Алиса. Алиса, сделай ярче настольную лампу.
2019-06-17 MajorDoMo и Яндекс Алиса. Алиса, включи свет на кухне.
2019-06-10 MajorDoMo и Яндекс Алиса. Модуль Yandex Home.
2019-06-06 MajorDoMo и Яндекс Алиса. Объединение аккаунтов.
2019-06-05 MajorDoMo и Яндекс Алиса. Регистрация приватного навыка.
2019-06-03 Загрузка PHP-расширения PDO MySQL в Windows
2019-06-01 MajorDoMo и Яндекс Алиса. Публикация вебхуков.
2019-05-29 MajorDoMo и Яндекс Алиса. Общие сведения.
2019-05-08 Сценарий контроля состояния SSL сертификатов сайтов
2019-02-26 Экспорт графиков в PNG-файл в модуле Charts
2019-01-26 Мультисерийный кастомный график в модуле Charts
2018-12-13 График с цветовой индикацией выхода величины за пределы
2018-11-12 Кастомный график в модуле Charts
2018-08-15 Кронштейн NB F120 (North Bayou)
2018-07-18 WiFi-информер на светодиодных матрицах MAX7219 и ESP8266. Часть 3.
2018-06-20 WiFi-информер на светодиодных матрицах MAX7219 и ESP8266. Часть 2.
2018-06-15 WiFi-информер на светодиодных матрицах MAX7219 и ESP8266. Часть 1.
2018-05-20 Кросс-компиляция ядра для Banana Pi M2U
2018-05-14 Ссылки на ресурсы по MajorDoMo
2018-03-02 Знакомство и тестирование Banana Pi M2U
2018-02-21 Распаковка Banana Pi M2U
2018-02-14 Одноплатный ПК для MajorDoMo
2018-08-14 Заметки по железу
2018-01-23 Мой взгляд на вопрос голосового управления в MajorDoMo
2018-01-17 Обзор цен на устройства Xiaomi
2017-12-24 Гирлянда на ESP8266 и WS2812
2017-12-20 Блог им. skysilver

Киров, Россия

На форуме: skysilver

Web-site URL:
http://connect.smartliving.ru/profile/461