在Linux的內核中PSI功能只支持cgroup v2接口。為了您在使用cgroup v1接口時,也可以通過PSI功能監控CPU、內存及IO性能異常等信息。Alibaba Cloud Linux 2(內核版本4.19.81-17.al7
開始)和Alibaba Cloud Linux 3為cgroup v1接口提供了PSI功能。本文主要介紹如何在cgroup v1接口開啟PSI功能并查詢相關信息。
背景信息
PSI(Pressure Stall Information)是一個可以監控CPU、內存及IO性能異常的內核功能。有關PSI功能的詳細信息,您可以通過內核文檔Documentation/accounting/psi.txt
了解,內核文檔包含在Alibaba Cloud Linux的Debuginfo包和源碼包內,下載Debuginfo包和源碼包請參見Alibaba Cloud Linux概述。
為cgroup v1接口開啟PSI功能
默認情況下cgroup v1接口的PSI功能為關閉狀態。按照以下步驟開啟PSI功能。
運行
grubby
命令,修改啟動參數。參數
args
中默認為"psi=1"
,表示cgroup v2啟用PSI功能。將參數修改為"psi=1 psi_v1=1"
,表示Alibaba Cloud Linux為cgroup v1接口開啟PSI功能。 本示例中內核版本為4.19.81-17.al7.x86_64
,您在操作中需要更換為實際的內核版本,內核版本的查看命令為uname -a
。sudo grubby --update-kernel="/boot/vmlinuz-4.19.81-17.al7.x86_64" --args="psi=1 psi_v1=1"
重啟系統使該功能生效。
sudo reboot
確認cgroup v1接口的PSI功能已啟用
系統重啟后,您可以執行命令,確認內核/proc/cmdline
中已啟用cgroup v1接口的PSI功能。
cat /proc/cmdline | grep "psi=1 psi_v1=1"
查詢CPU、內存及IO的監控數據
當您開啟cgroup v1接口的PSI功能時,CPU、內存及IO的PSI監控數據均會輸出到cpuacct控制器下,您可以通過以下命令查看詳細的監控數據。
cat /sys/fs/cgroup/cpuacct/cpu.pressure
cat /sys/fs/cgroup/cpuacct/memory.pressure
cat /sys/fs/cgroup/cpuacct/io.pressure