1.vmstat: 展示给定时间间隔的服务器的状态值,包括服务器的CPU使用率,内存使用,虚拟内存交换情况,IO读写情况
vmstat有两个参数 如vmstat 2 1: 每两秒采集一次
procs -----------memory---------- ---swap-- -----io---- --system-- -----cpu----- r b swpd free buff cache si so bi bo in cs us sy id wa st 4294967295 0 0 6646116 0 1375408 0 0 38 307 3 1 0 0 100 0 0
解析里面主要属性的含义
r : 运行队列(包含等待队列和执行队列),当超过CPU数量时,就容易达到CPU瓶颈;
b : 阻塞的进程;
swpd : 表示虚拟内存占用大小,如果大于0,说明机器的物理内存不足,如果不是内存泄露,就考虑把占用内存的应用换 一个机器。
free : 表示空闲的物理内存大小,
buff : 缓存
cache : cache记录的是我们打开的文件,给文件做缓冲
si : 表示每秒从磁盘读入虚拟内存的大小,如果值大于0,那么是物理内存不够或者内存泄露;
so : 表示每秒从虚拟内存写入磁盘的大小,如果值大于0,那么是物理内存不够或者内存泄露;
bi : 表示块设备每秒接收的块数量,这里的块设备是指系统上所有的磁盘和其他块设备;
bo : 块设备每秒发送的块数量,例如我们读取文件,bo就要大于0。bi和bo一般都要接近0,不然就是IO过于频繁,需 要调整;
cs : 每秒上下文切换次数,例如我们调用系统函数,就要进行上下文切换,线程的切换,也要进程上下文切换,这个 值要越小越好,让CPU干正经事。减少上下文调用:1.减少调用系统函数,2.减少线程和进程数。
2.查看文件内容:
tail:展示尾部:
tail -n 20 ***:展示***文件的最后20行,
tail -r -n 20 ***:逆序展示***文件的最后20行
head:展示头部:
head -n 20 ***: 展示***开头的20行,
sed:只查看指定第一行到第几行
sed -n '5,10p' : 只查看第5行到第10行
cat:查看整个文件;
-n 或 --number 由 1 开始对所有输出的行数编号
-b 或 --number-nonblank 和 -n 相似,只不过对于空白行不编号
-s 或 --squeeze-blank 当遇到有连续两行以上的空白行,就代换为一行的空白行
tac:和cat顺序相反
ps -ef | grep *** : 查看一个进程;ps就是process进程
kill -9 *** : 杀死一个进程;
kill -STOP *** : 停止一个进程。