Category: происшествия

Category was added automatically. Read all entries about "происшествия".

nepal

ps, top и мёртвые дети

Помогите мне, а то я туплю уже не первый день.



Хочу узнать топ самых популярных процессов в системе (по времени выполнения, включая тех самых мёртвых детей). Запускаю топ, сортирую по времени, нажимаю S (When 'Cumulative time' mode is On, each process is listed with the cpu time that it and its dead children have used). Вижу картинку:



  PID USER      PR  NI  VIRT  RES  SHR S  %CPU %MEM    TIME+  COMMAND                                               
    1 root      20   0 48612 4704 1800 S   0.0  0.1   2405:47 systemd                                               
  836 root      20   0  290m 3168 2500 S   0.0  0.0 954:48.30 gdm-binary                                            
 1663 kir        9 -11  684m  10m 5648 S   0.0  0.1  63:59.77 pulseaudio                                            
28910 root      20   0  222m  40m  22m S   3.3  0.5  45:37.09 Xorg                                                  
29238 kir       20   0  878m  22m  14m S   0.3  0.3  20:04.62 gnome-panel                                           
29401 kir       20   0  244m  71m  25m S   0.7  0.9  17:09.19 skype                                                 
29287 kir       20   0  446m  16m  12m S   2.7  0.2  14:21.82 gkrellm                                               
   10 root      20   0     0    0    0 S   0.3  0.0   8:20.43 rcu_sched  


Это как раз та картинка, которую я хочу видеть. Понятно, что systemd запустил вообще всё, что есть в системе, вот у него и время такое, а gdm запустил иксы и всё что в иксах, поэтому он на почётном втором месте.



Теперь хочу тот же фокус проделать с ps. Там тоже есть ключик --cumulative. Но он не работает, или я не на то смотрю.



ps -e --no-header -o time,comm --cumulative --sort -time | head
01:04:01 pulseaudio
00:47:18 Xorg
00:23:11 gkrellm
00:20:36 skype
00:08:32 rcu_sched
00:08:24 adb
00:03:44 thunderbird
00:02:59 udisksd
00:02:52 chrome
00:02:10 dbus-daemon


Картинка такая же, как и без Cumulative time в top, и не изменяется от добавления/удаления флага --cumulative.

Однако, мне удалось найти поле bsdtime, на которое --cumulative влияет так, как мне надо:

ps -e --no-header -o bsdtime,comm --cumulative --sort -bsdtime

Но при этом, блин, сортировка по этому полю нихрена не работает.

Вопросы. Что я делаю не так? Стоит ли обижаться на разработчиков этих модных тулзов?
nepal

смерть оракла

Сегодня shams мучала инсталлятор Oracle. Вываливается с SIGSEGV и всё тут. Уже несколько дней они его пинают... Сегодня допинали!

Оказалось, что в файле /proc/swaps, которое инсталлятор читает с помощью /bin/cat (у нас /proc/swaps внутри контейнера в старом ядре нет, поэтому мы подложили наш /bin/cat), в первой строчке (где заголовки) поля разделены табами, а во второй строчке (где, собственно, своп-девайс и всякие его характеристики) -- пробелами! Вот так вот примерно выглядит /proc/swaps, чтобы вы представляли, о чём речь:

$ cat /proc/swaps 
Filename                                Type            Size    Used    Priority <-- тут табы
/dev/sda3                               partition       2031608 80      -1       <-- тут пробелы

Ну вот, а у нас во второй строчке были табы. Оракловый инсталлятор не смог этого перенести!

Вероятно, его писали ну очень малогабаритныебюджетные индусы.