服務(wù)的CPU利用率(分配額)
25. 獲取當(dāng)前某個(gè)服務(wù)的CPU分配額(如httpd)
# systemctl show -p CPUShares httpd.service
CPUShares=1024
注意:各個(gè)服務(wù)的默認(rèn)CPU分配份額=1024,你可以增加/減少某個(gè)進(jìn)程的CPU分配份額。
26. 將某個(gè)服務(wù)(httpd.service)的CPU分配份額限制為2000 CPUShares/
# systemctl set-property httpd.service CPUShares=2000
# systemctl show -p CPUShares httpd.service
CPUShares=2000
注意:當(dāng)你為某個(gè)服務(wù)設(shè)置CPUShares,會(huì)自動(dòng)創(chuàng)建一個(gè)以服務(wù)名命名的目錄(如 httpd.service),里面包含了一個(gè)名為90-CPUShares.conf的文件,該文件含有CPUShare限制信息,你可以通過(guò)以下方式查看該?件:
# vi /etc/systemd/system/httpd.service.d/90-CPUShares.conf
[Service]
CPUShares=2000
27. 檢查某個(gè)服務(wù)的所有配置細(xì)節(jié)
# systemctl show httpd
Id=httpd.service
Names=httpd.service
Requires=basic.target
Wants=system.slice
WantedBy=multi-user.target
Conflicts=shutdown.target
Before=shutdown.target multi-user.target
After=network.target remote-fs.target nss-lookup.target systemd-journald.socket basic.target system.slice
Description=TheApache HTTP Server
LoadState=loaded
ActiveState=active
SubState=running
FragmentPath=/usr/lib/systemd/system/httpd.service
....
28. 分析某個(gè)服務(wù)(httpd)的關(guān)鍵鏈
# systemd-analyze critical-chain httpd.service
The time after the unit is active or started is printed after the "@" character.
The time the unit takes to start is printed after the "+" character.
httpd.service +142ms
└─network.target @11.168s
└─network.service @9.456s+1.712s
└─NetworkManager.service @8.858s+596ms
└─firewalld.service @4.931s+3.926s
└─basic.target @4.916s
└─sockets.target @4.916s
└─dbus.socket @4.916s
└─sysinit.target @4.905s
└─systemd-update-utmp.service @4.864s+39ms
└─auditd.service @4.563s+301ms
└─systemd-tmpfiles-setup.service @4.485s+69ms
└─rhel-import-state.service @4.342s+142ms
└─local-fs.target @4.324s
└─boot.mount @4.286s+31ms
└─systemd-fsck@dev-disk-byx2duuid-79f594adx2da332x2d4730x2dbb5fx2d85d196080964.service@4.092s+149ms
└─dev-disk-byx2duuid-79f594adx2da332x2d4730x2dbb5fx2d85d196080964.device@4.092s
29. 獲取某個(gè)服務(wù)(httpd)的依賴性列表
# systemctl list-dependencies httpd.service
httpd.service
├─system.slice
└─basic.target
├─firewalld.service
├─microcode.service
├─rhel-autorelabel-mark.service
├─rhel-autorelabel.service
├─rhel-configure.service
├─rhel-dmesg.service
├─rhel-loadmodules.service
├─paths.target
├─slices.target
│├─-.slice
│└─system.slice
├─sockets.target
│├─dbus.socket
....
30. 按等級(jí)列出控制組
# systemd-cgls
├─1/usr/lib/systemd/systemd --switched-root --system --deserialize 23
├─user.slice
│└─user-0.slice
│└─session-1.scope
│├─2498 sshd: root@pts/0
│├─2500-bash
│├─4521 systemd-cgls
│└─4522 systemd-cgls
└─system.slice
├─httpd.service
│├─4440/usr/sbin/httpd -DFOREGROUND
│├─4442/usr/sbin/httpd -DFOREGROUND
│├─4443/usr/sbin/httpd -DFOREGROUND
│├─4444/usr/sbin/httpd -DFOREGROUND
│├─4445/usr/sbin/httpd -DFOREGROUND
│└─4446/usr/sbin/httpd -DFOREGROUND
├─polkit.service
│└─721/usr/lib/polkit-1/polkitd --no-debug
....
31. 按CPU、內(nèi)存、輸入和輸出列出控制組
# systemd-cgtop
PathTasks%CPU MemoryInput/s Output/s
/831.0437.8M--
/system.slice -0.1---
/system.slice/mariadb.service 20.1---
/system.slice/tuned.service 10.0---
/system.slice/httpd.service 60.0---
/system.slice/NetworkManager.service 1----
/system.slice/atop.service 1----
/system.slice/atopacct.service 1----
/system.slice/auditd.service 1----
/system.slice/crond.service 1----
/system.slice/dbus.service 1----
/system.slice/firewalld.service 1----
/system.slice/lvm2-lvmetad.service 1----
/system.slice/polkit.service 1----
/system.slice/postfix.service 3----
/system.slice/rsyslog.service 1----
/system.slice/system-getty.slice/getty@tty1.service 1----
/system.slice/systemd-journald.service 1----
/system.slice/systemd-logind.service 1----
/system.slice/systemd-udevd.service 1----
/system.slice/webmin.service 1----
/user.slice/user-0.slice/session-1.scope3----