欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  科技

CPU 实用工具

程序员文章站 2024-01-16 12:19:46
系统版本:CentOS 7.4 top uptime vmstat mpstat sar pidstat ......

系统版本:centos 7.4

top

CPU 实用工具

17:49:04       // 当前时间
up 3:55       // 系统运行时间,格式为时:分
2 users        // 当前登录用户数
load average   // 三个值分别为 1分钟,5分钟,15分钟内的系统负载

tasks       // 进程总数
running     // 正在运行的进程数
sleeping    // 睡眠的进程数
stopped     // 停止的进程数
zombie      // 僵尸进程数

us     // 用户空间占用 cpu 百分比
sy     // 内核空间占用 cpu 百分比
ni     // 用户进程空间内改变过优先级的进程占用cpu百分比
id     // 空闲cpu百分比
wa     // 等待输入输出的cpu时间百分比
hi     // 硬中断占用百分比
si     // 软中断占用百分比
st     // 虚拟机占用百分比

pid         // 每个进程的 id
user        // 每个进程所有者的用户名
pr          // 每个进程的优先级别
ni          // 该进程的优先级值
virt        // 进程需要的虚拟内存大小,包括进程使用的库,代码,数据等
res         // 该进程占用的物理内存的总数量,单位是 kb
shr         // 该进程使用共享内存的数量
s           // 进程状态(d=不可中断的睡眠状态,r=运行,s=睡眠,t=跟踪/停止, z=僵尸进程)
%cpu        // 该进程自最近一次刷新一来所占用的cpu时间和总时间的百分比
%mem        // 该进程占用的物理内存占总内存的百分比
time+       // 该进程自启动以来所占用的总 cpu 时间。
command     // 该进程的命令名称。

uptime

CPU 实用工具

14:01:02         //系统当前时间
up 3 days, 7 min //主机已运行时间
2 users          //当前登录用户数
load average: 0.00, 0.01, 0.05  //三个值分别为 1分钟,5分钟,15分钟内的系统负载

vmstat

CPU 实用工具

(procs) r      // 运行队列中进程数量
(procs) b      // 等待 io 的进程数量
(memory) swpd  // 使用虚拟内存大小
(memory) free  // 可用内存大小
(memory) buff  // 用作缓冲的内存大小
(memory) cache // 用作缓存的内存大小
(swap) si      // 每秒从交换区写到内存的大小
(swap) so      // 每秒写入交换区的内存大小
(io) bi        // 每秒读取的块数
(io) bo        // 每秒写入的块数
(system) in    // 每秒中断数,包括时钟中断
(system) cs    // 每秒上下文切换数
(cpu) us       // 用户进程执行时间 (user time)
(cpu) sy       // 系统进程执行时间 (system time)
(cpu) id       // 空闲时间(包括 io 等待时间)
(cpu) wa       // 等待io时间

mpstat

CPU 实用工具

%user      // 表示处理用户进程所使用cpu的百分比。用户进程是用于应用程序(如oracle数据库)的非内核进程;  
%nice      // 表示使用nice命令对进程进行降级时cpu的百分比; 
%sys       // 表示内核进程使用的cpu百分比;
%iowait    // 表示等待进行i/o所使用的cpu时间百分比;
%irq       // 表示用于处理系统中断的cpu百分比;
%soft      // 表示用于软件中断的cpu百分比;
%idle      // 显示cpu的空闲时间;

sar

CPU 实用工具

%user   // 显示在用户级别(application)运行使用cpu总时间的百分比。
%nice   // 显示在用户级别,用于nice操作(进程优先级切换),所占用cpu总时间的百分比
%system // 在核心级别(kernel) 运行所使用cpu总时间的百分比。
%iowait // 显示用于等待i/o操作占用cpu总时间的百分比。
%steal  // 管理程序(hypervisor)为另一虚拟进程提供服务而等待虚拟cpu的百分比。
%idle   // 显示cpu空闲时间占用cpu总时间的百分比。

1.若 %iowait 的值过高,表示硬盘存在i/o瓶颈
2.若 %idle 高但是系统响应慢时,可能是cpu等待分配内存,此时应加大内存容量
3.若 %idle 的值持续低于1,则系统的cpu处理能力相对较低,表明系统中最需要解决的资源是cpu。

如果要查看二进制文件 test 中的内容,需键入如下sar命令:
sar -u -f test
-u : 输出cpu使用情况和统计信息
-f : 从制定的文件读取报告

pidstat

CPU 实用工具

pid     // 进程id
%usr    // 进程在用户空间占用cpu的百分比
%system // 进程在内核空间占用cpu的百分比
%guest  // 进程在虚拟机占用cpu的百分比
%cpu    // 进程占用cpu的百分比
cpu     // 处理进程的cpu编号
command // 当前进程对应的命令

CPU 实用工具

uid     // 执行进程的 uid
pid     // 进程id
%usr    // 进程在用户空间占用cpu的百分比
%system // 进程在内核空间占用cpu的百分比
%guest  // 进程在虚拟机占用cpu的百分比
%cpu    // 进程占用cpu的百分比
cpu     // 处理进程的cpu编号
command // 当前进程对应的命令