vmstat 1
vmstat是Linux系统监控工具,使用vmstat命令可以得到关于进程、内存、内存分页、堵塞IO、traps及CPU活动的信息。
r:运行队列中的进程数;b:等待IO的进程数。
swpd:已用虚拟内存大小(k);free:空闲内存大小;buff:已用缓冲大小;cache:已用缓存大小。
si:每秒从交换区写入内存的大小(kb/s);so:每秒从内存写入交换分区的大小。
bi:每秒读取的块数;bo每秒写入的块数。
in:每秒中断数,包括时钟中断;cs:每秒上下文切换数。
us(user time):用户进程执行消耗cpu时间;sy(system time):系统进程执行消耗cpu时间;id:空闲时间(包括IO等待时间);wa:等待IO时间。
/proc/stat:
这个文件包含了所有CPU活动的信息,该文件中的所有值都是从系统启动开始累计到当前时刻。可以利用其中信息计算cpu的利用率。
每行每个参数的意思为(以第一行为例,单位:jiffies,1jiffies=0.01秒):
user(1456243):从系统启动开始累计到当前时刻,用户态的CPU1时间,不包含 nice值为负进程。
nice(212):从系统启动开始累计到当前时刻。
system(636372):从系统启动开始累计到当前时刻,nice值为负的进程所占用的CPU时间。
idle(792028747):从系统启动开始累计到当前时刻,除硬盘IO等待时间以外其它等待时间。
iowait(51892):从系统启动开始累计到当前时刻,硬盘IO等待时间。
irq(0):从系统启动开始累计到当前时刻,硬中断时间。
softirq(47234):从系统启动开始累计到当前时刻,软中断时间。
CPU时间=user+nice+system+idle+iowait+irq+softirq。
CPU利用率=(idle2-idle1)/(cpu2-cpu1)*100。
ps aux:
显示其他用户启动的进程(a)
查看系统中属于自己的进程(x)
启动这个进程的用户和启动时间 (u)
ps -aux | sort -k4nr | head -5
iostat命令可报告中央处理器(CPU)的统计信息,各种设备、分区及网络文件系统输入/输出的统计信息。
yum install sysstat
iostat
iostat -d -k 1 10
参数
-d 表示,显示设备(磁盘)使用状态;
-k某些使用block为单位的列强制使用Kilobytes为单位;
1 10表示,数据显示每隔1秒刷新一次,共显示10次。
iostat -x 1 1
top提供一个当前运行系统实时动态的视图,也就是正在运行进程。在默认情况下,显示系统中CPU使用率最高的任务,并每5秒钟刷新一次。
用法: top -hv | -bcisSHM -d delay -n iterations [-u user | -U user] -p pid [,pid ...]
-b : 批次模式运行。通常用作来将top的输出的结果传送给其他程式或储存成文件。
-c : 显示执行任务的命令行。
-d : 设定延迟时间
-h : 帮助
-H : 显示线程。当这个设定开启时,将显示所有进程产生的线程。
-i : 显示空闲的进程。
-n : 执行次数。一般与-b搭配使用
-u : 监控指定用户相关进程
-U : 监控指定用户相关进程
-p : 监控指定的进程。当监控多个进程时,进程ID以逗号分隔。这个选项只能在命令行下使用。
-s : 安全模式操作
-S : 累计时间模式
-v : 显示top版本,然后退出。
-M : 自动显示内存单位(k/M/G)
栏位信息
在top中,分别使用26个英文字母对应进程相关信息栏位。可已通过f来添加或移除指定的栏位,通过o来调整对栏位显示顺序。下面我们针对这些栏位进行说明。
a: PID (Process Id):任务的进程ID
b: PPID (Parent Process Pid):父任务的进程ID
c: RUSER (Real User Name):任务的所有者真实名称
d: UID (User Id):任务所有者ID
e: USER (User Name):任务所有者名称
f: GROUP (Group Name):任务所有者群组名
g: TTY (Controlling Tty):终端
h: PR (Priority):优先级
i: NI (Nice value):Nice值
j: P (Last used CPU (SMP)):
k: %CPU (CPU usage):CPU使用率
TIME (CPU Time):CPU时间
TIME+ (CPU Time, hundredths):CPU时间,精确到秒
%MEM (Memory usage (RES)):内存使用率
VIRT (Virtual Image (kb)):虚拟内存。VIRT = SWAP + RES
p: SWAP (Swapped size (kb)):交换空间
q: RES (Resident size (kb)):常驻内存。RES = CODE + DATA
r: CODE (Code size (kb)):
s: DATA (Data+Stack size (kb)):
t: SHR (Shared Mem size (kb)):共享内存。
u: nFLT (Page Fault count):
v: nDRT (Dirty Pages count):
w: S (Process Status):进程状态
分别有以下几种:
D = uninterruptible sleep = 不可被唤醒睡眠
R = running = 正在运行中
S = sleeping = 睡眠状态
T = traced or stopped = 出错或停止状态
Z = zombie = 僵尸状态
x: Command (Command line or Program name):进程名或命令行
y: WCHAN (Sleeping in Function):
z: Flags (Task Flags):
uptime
硬盘查看
fdisk -l
df -lh
内存查看
free -m