decvar
написал 22 июля 2005 года в 12:07 (653 просмотра)
Ведет себя
как мужчина; открыл 111 тему в форуме, оставил 1838 комментариев на сайте.
Задача:
необходимо командой в одну строчку, можно с ; и > < | выяснить скока памяти поедате указанный по имени или по пиду процесс. Видимо надо парсить что-то в /proc
Соответствеено надо 4 разные команды
1)память для некого пида
2)память для некого имени
3)cpu для пида
4)cpu для имени
Вроде как аналог top тока без изменения значений.
Предложения как это реализвать?
Пользуем bash и любые штатные утилиты в RHEL
Последние комментарии
-
fhunter, 29 ноября в 2:09 → Проблема с NO_PUBKEY: как получить GPG-ключ и добавить его в базу apt? 6
-
DimitriuS, 6 сентября в 10:37 → Перекличка 14
-
Иванн, 9 апреля в 8:31 → Ассоциация РАСПО провела первое учредительное собрание 1
-
Kiri11.ADV1, 7 марта 2021 года в 12:01 → Логи catalina.out в TomCat 9 в формате JSON 1
-
fhunter, 26 февраля 2021 года в 20:45 → A, MX, PTR — Настройка и проверка извне. Как ? 2

Экология и вегетарианство на благо всем живым существам Планеты.
Гы…. :))
По pid-у:
А вот что касается «по имени», то тут проблема возникает — по какому выводить? по всем?
ну и кроме того, надо определиться с версией: довольно большие различия у программ от версии дистрибутива. а так жу у bsd/linux…
и т.д…
по имени образа. того, что в ps aux видно
Variant:
export q=7721; ps -aucx | awk 'BEGIN { q=«’»$q«’»; is_pid = (q ~ /^[0-9]+$/) } { if ( is_pid && $2 == q ) print «pid=» q »; mem%=» $4 »; vsz=» $5 »; rss=» $6 «;»; else if ($NF ~ q) print «command=» q »; mem%=» $4 »; vsz=» $5 »; rss=» $6 «;» }'
pid=7721; mem%=0.8; vsz=257540; rss=13096;
This huge variant can understand pid or command name request automatically
Possible improvements:
1) add function for results printing
2) second parameter to choose memory or processor info should be obtained
…
etc
Also it may be better to use awk’s parameters (depends on awk)
Good luck
— sas
cat /proc/’pidof blAbla`/statm или как там его, вроде там статистика по использованию памяти. Зачем же создавать костыль с парсингом вывода ps?
A zatem, chto proc fs is not standard (layout and content can be changed) across even the same platform.
ps implementation unlike it working like abstraction layer and more portable.
So proc fs should be used very rarely.