minflt/s-从内存中加载数据时每秒出现的小的错误的数目,这些不要求从磁盘载入内存页面。
majflt/s-从内存中加载数据时每秒出现的较大错误的数目,这些要求从磁盘载入内存页面。
VSZ-虚拟容量:整个进程的虚拟内存使用(kb)
RSS-长期内存使用:任务的不可交换物理内存的使用量(kb)
vmstat
vmstat命令是最常见的Linux/Unix监控工具,可以展现给定时间间隔的服务器的状态值,包括服务器的CPU使用率,内存使用,虚拟内存交换情况,IO读写情况
vmstat15
procs-----------memory-------------swap-------io-----system--------cpu-----
rbswpdfreebuffcachesisobiboincsussyidwast
100235606829316841533920005120010000
00023560602931684153392000085116300010000
0002356060293168415339200008671629109900
00023560602931684153392000081215630010000
00023560602931684153392000085917120010000
字段
r表示运行队列
b表示阻塞的进程
swpd虚拟内存已使用的大小,如果大于0linux命令,表示你的机器物理内存不足了
free空闲的物理内存的大小,我的机器内存总共8G,剩余3415M。
buff写缓冲大小
cache读缓冲大小
si每秒从磁盘读入交换区的大小
so每秒从交换区存写入磁盘的大小
bi块设备每秒接收的块数量,这里的块设备是指系统上所有的磁盘和其他块设备
bo块设备每秒发送的块数量
in每秒CPU的中断次数,包括时间中断
cs每秒上下文切换次数,这个值要越小越好,太大了,要考虑调低线程或者进程的数目
us用户CPU时间
sy系统CPU时间,如果太高,表示系统调用时间长如IO操作频繁。
id空闲CPU时间,一般来说,id+us+sy=100,一般我认为id是空闲CPU使用率,us是用户CPU使用率,sy是系统CPU使用率。
wt等待IOCPU时间。
lsof
lsofabc.txt显示开启文件abc.txt的进程
lsof-cabc显示abc进程现在打开的文件
lsof-c-p1234列出进程号为1234的进程所打开的文件
lsof-ggid显示归属gid的进程情况
lsof+d/usr/local/显示目录下被进程开启的文件
lsof+D/usr/local/同上,但是会搜索目录下的目录,时间较长
lsof-d4显示使用fd为4的进程
lsof-i用以显示符合条件的进程情况
lsof-i[46][protocol][@hostname|hostaddr][:service|port]
46-->IPv4orIPv6
protocol-->TCPorUDP
hostname-->Internethostname
hostaddr-->IPv4地址
service-->/etc/service中的servicename(可以不止一个)
port-->端口号(可以不止一个)
字段
COMMAND:进程的名称
PID:进程标识符
USER:进程所有者
FD:文件描述符,应用程序通过文件描述符识别该文件。如cwd、txt等TYPE:文件类型,如DIR、REG等
DEVICE:指定磁盘的名称