состояние systemctl, не показывающее ЦП/использование памяти?

Я использовал Ubuntu 16.04. И я нахожу, что некоторые сервисы покажут CPU и использование памяти через systemctl status <name>.service:

$ systemctl status nginx
● nginx.service - LSB: Stop/start nginx
   Loaded: loaded (/etc/init.d/nginx; bad; vendor preset: enabled)
   Active: active (running) since 五 2017-04-07 09:21:25 CST; 4h 59min ago
     Docs: man:systemd-sysv-generator(8)
  Process: 2677 ExecStart=/etc/init.d/nginx start (code=exited, status=0/SUCCESS)
    Tasks: 2
   Memory: 2.5M
      CPU: 12ms
   CGroup: /system.slice/nginx.service
           ├─2695 nginx: master process /usr/sbin/nginx -c /etc/nginx/nginx.con
           └─2697 nginx: worker process

Но на другом хосте, я нахожу systemctl status не покажет CPU и использование памяти:

$ systemctl status nginx
● nginx.service - LSB: Stop/start nginx
   Loaded: loaded (/etc/init.d/nginx; bad; vendor preset: enabled)
   Active: active (running) since 四 2017-04-06 20:57:15 CST; 17h ago
     Docs: man:systemd-sysv-generator(8)
   CGroup: /system.slice/nginx.service
           ├─29668 nginx: master process /usr/sbin/nginx -c /etc/nginx/nginx.con
           ├─29669 nginx: worker process                   
           ├─29670 nginx: worker process                   
           ├─29671 nginx: worker process                   
           └─29672 nginx: worker process

Почему? Оба из nginx были установлены от nginx официального repo apt install -y nginx. Даже при том, что на том же хосте, некоторые сервисы не покажут CPU и использование памяти.

И как показать CPU и использование памяти в systemctl состоянии?

5
задан 7 April 2017 в 00:11

3 ответа

Я понятия не имею, почему некоторые хосты могли, но некоторые не могли, если Вы хотите последовательное поведение, необходимо включить память, составляющую единый блок или по умолчанию для всех единиц путем установки:

DefaultMemoryAccounting=yes

в /etc/systemd/system.conf и затем выполнение:

systemctl daemon-reexec

Проверьте этот поток списка от systemd разработчиков и systemd-system.conf[5].

4
ответ дан 23 November 2019 в 09:12

Его на самом деле менее сложный, чем Вы думают. Для наблюдения чего-то нестатического как ЦП или использование памяти необходимо использовать команду: watch systemctl status <name>.service

1
ответ дан 23 November 2019 в 09:12

Иногда это могло бы помочь добавлению этих 2 опций в Вашем .service файле под [Сервисом] блок

CPUAccounting = да

MemoryAccounting = да

1
ответ дан 23 November 2019 в 09:12

Другие вопросы по тегам:

Похожие вопросы: