Portál AbcLinuxu, 1. května 2025 04:50
Chcel som vedieť aké aplikácie na Linuxe bežne používam. Nechal som monitorovací skript bežať mesiac. Tu je výsledný graf.
Ak niektorá aplikácia bežala viac krát tak sú časy spočítané. Preto má Chrome viac ako mesiac. Reálny uptime vidno dobre na Skype lebo to je aplikácia ktorá beží vždy práve raz. Aplikácie ktoré spolu bežali menej ako 15 minút v grafe nie sú. xterm a mc má identický čas lebo vždy xterm spúšťam s -e mc. Záhadou pre mňa zostáva gksu. V grafe nie sú systémové služby, len mnou používané aplikácie (ručne som to vytriedil).
Monitorovací skript spustený ako služba Gnome:
#!/bin/bash while true; do ps aux | grep "^$USER" | awk '{ print $11 }' >> ~/.app-monitor.log sleep 1m done
Štatistiku som spravil týmto skriptom:
#!/bin/bash cat ~/.app-monitor.log | sort -u | while read a; do echo `grep "^$a$" ~/.app-monitor.log | wc -l` $a done | sort -nr | tee ~/app-monitor-stat.recent
Tiskni
Sdílej:
ps U $USER o cmd
by ti ušetřilo grep a awk Ako povedal Donald Knuth "Premature optimization is root of all evil".
Mimo tuto diskusi: Knuth to řekl v určitém kontextu. Dnes si to každý vykládá tak, že je možné použít libovolný algoritmus, libovolný formát dat, libovolné prostředí a tak. Prostě to nějak naprasit. Knuth dobře věděl, který algoritmus je ten nejvhodnější. Ale varoval, před složitou optimalizací napříč programem, která jej silně znepřehlední. Nejvodnější datové struktury a algoritmy by se měly používat vždy. To není optimalizace, to je návrh.
Což samozřejmě znamená a na to CET správně narážel, že je dobré znát více (v tomto případě GNU řádkových filtrů) a potom si umět správně vybrat ten nejvhodnější.
Sorry za OT, u skriptu, který běží 200ms každou minutu, to fakt nemá smysl řešit.
ps -U simon -u simon -o user,pid,etime -o args | awk '{ print $2 " " $3 " " $4 }'
ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.