一、Cgroups 资源控制
pidstat 与 stress
pidstat
- 所属工具集:sysstat 工具集的一部分。
- 功能:监控全部或指定进程的 CPU、内存、线程、设备 IO 等系统资源占用情况。首次采样显示自系统启动以来的统计,后续采样显示自上次命令以来的统计,可指定采样次数和时间。
- 语法:
pidstat [选项] [时间间隔] [次数] - 常用参数:
-u:默认参数,显示各进程的 CPU 使用统计。-r:显示各进程的内存使用统计。-d:显示各进程的 IO 使用情况。-p:指定进程号,ALL 表示所有进程。-C:指定命令。-l:显示命令名和参数。
- 安装(Ubuntu):卸载命令为
apt remove sysstat -y,安装命令为apt install sysstat -y。
stress
- 功能:Linux 的压力测试工具,可对 CPU、Memory、IO、磁盘进行压力测试。
- 语法:
stress [OPTION [ARG]] - 常用参数:
-c, --cpu N:产生 N 个进程,每个进程循环调用 sqrt 函数产生 CPU 压力。-i, --io N:产生 N 个进程,每个进程循环调用 sync 将内存缓冲区内容写到磁盘上产生 IO 压力,SSD 磁盘环境可能因大量调用 sync 导致 sys 升高但 iowait 为 0。-m, --vm N:产生 N 个进程,每个进程循环调用 malloc/free 函数分配和释放内存。--vm-bytes B:指定分配内存的大小。--vm-keep:一直占用内存,区别于不断释放和重新分配。-d, --hdd N:产生 N 个不断执行 write 和 unlink 函数的进程(创建文件,写入内容,删除文件)。--hdd-bytes B:指定文件大小。-t, --timeout N:在 N 秒后结束程序。-q, --quiet:程序运行过程中不输出信息。
- 安装:
- Ubuntu:卸载命令为
apt remove stress -y,安装命令为apt install stress -y。
- Ubuntu:卸载命令为
下面来简单测试下:
测试 stress 对用户 cpu 模拟产生压力:















































