decvar
написал 22 июля 2005 года в 12:07 (812 просмотра)
Ведет себя
как мужчина; открыл 111 тему в форуме, оставил 1838 комментариев на сайте.
Задача:
необходимо командой в одну строчку, можно с ; и > < | выяснить скока памяти поедате указанный по имени или по пиду процесс. Видимо надо парсить что-то в /proc
Соответствеено надо 4 разные команды
1)память для некого пида
2)память для некого имени
3)cpu для пида
4)cpu для имени
Вроде как аналог top тока без изменения значений.
Предложения как это реализвать?
Пользуем bash и любые штатные утилиты в RHEL
Последние комментарии
- OlegL, 17 декабря 2023 года в 15:00 → Перекличка 21
- REDkiy, 8 июня 2023 года в 9:09 → Как «замокать» файл для юниттеста в Python? 2
- fhunter, 29 ноября 2022 года в 2:09 → Проблема с NO_PUBKEY: как получить GPG-ключ и добавить его в базу apt? 6
- Иванн, 9 апреля 2022 года в 8:31 → Ассоциация РАСПО провела первое учредительное собрание 1
- Kiri11.ADV1, 7 марта 2021 года в 12:01 → Логи catalina.out в TomCat 9 в формате JSON 1
ecobeing.ru
Экология и вегетарианство на благо всем живым существам Планеты.
Гы…. :))
По 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.