top命令  


 

第一行

top - 14:30:20   表示当前时间   up 后的字段展示,虚拟机运行时间(20小时44分钟),

1 user  表示一个用户处于连接 状态,

load average: 1.17, 1.12, 1.08    — load average后面的三个数分别是1分钟、5分钟、15分钟的负载情况。

load average数据是每隔5秒钟检查一次活跃的进程数,然后按特定算法计算出的数值。如果这个数除以逻辑CPU的数量,结果高于5的时候就表明系统在超负荷运转了。

系统平均负载:单核CPU情况下,0.00 表示没有任何负荷,1.00表示刚好满负荷,超过1侧表示超负荷,理想值是0.7;

多核CPU负载:CPU核数 * 理想值0.7 = 理想负荷,例如:4核CPU负载不超过2.8何表示没有出现高负载


第二行

Tasks — 任务(进程),系统现在共有97个进程,其中处于运行中的有1个,55个在休眠(sleep),stoped状态的有0个,zombie状态(僵尸)的有0个。


第三行:cpu状态

52.0% us — 用户空间占用CPU的百分比。

1.5% sy — 内核空间占用CPU的百分比。

0.0% ni — 改变过优先级的进程占用CPU的百分比

46.3% id — 空闲CPU百分比

0.0% wa — IO等待占用CPU的百分比

0.0% hi — 硬中断(Hardware IRQ)占用CPU的百分比

0.2% si — 软中断(Software Interrupts)占用CPU的百分比

如果该linux机子是虚拟机,还有另外一个字段

( st : time stolen from this vm by the hypervisor 表示hypervisor从这个vm窃取的时间)


第四行:内存状态


总量total:3663056    已使用used:3339148     空闲量free:104100     缓存的内存量buff/cache:219808 


第五行:交换区状态


意义同内存状态栏


%us:表示用户空间程序的cpu使用率(没有通过nice调度)

%sy:表示系统空间的cpu使用率,主要是内核程序。

%ni:表示用户空间且通过nice调度过的程序的cpu使用率。

%id:空闲cpu

%wa:cpu运行时在等待io的时间

%hi:cpu处理硬中断的数量

%si:cpu处理软中断的数量

%st:被虚拟机偷走的cpu

注:99.0 id,表示空闲CPU,即CPU未使用率,100%-99.0%=1%,即系统的cpu使用率为1%。



        PID:进程的ID

  USER:进程所有者

  PR:进程的优先级别,越小越优先被执行

  NInice:值

  VIRT:进程占用的虚拟内存

  RES:进程占用的物理内存

  SHR:进程使用的共享内存

  S:进程的状态。S表示休眠,R表示正在运行,Z表示僵死状态,N表示该进程优先值为负数

  %CPU:进程占用CPU的使用率

  %MEM:进程使用的物理内存和总内存的百分比

  TIME+:该进程启动后占用的总的CPU时间,即占用CPU使用时间的累加值。

  COMMAND:进程启动命令名称


查看对应的进程

top -H -p pid


参考:https://my.oschina.net/u/4362986/blog/3852714


使用free -m查看内存的使用情况,-m表示查询出来的单位是兆


使用df -h命令查看硬盘的使用情况


使用iostat -d 2 3查看磁盘io的情况


iostat -d 2 3: 打印出磁盘io信息

tps: 每分钟提交事务的次数,也就是向磁盘写数据的次数(增册改)

qps: 每分钟查询磁盘的次数

pv: PageView页面浏览的次数


mpstat

mpstat命令会把每一个可用的处理器都写入标准输出中,第一个处理器编号为0,同时对所有处理器的全部平均值做一次报告。默认情况下,只会输出全部平均值。要查看每一个CPU的情况,需要增加参数。

输入:mpstat

输出:


输入:mpstat -P ALL

输出:



sar

使用sar命令可以收集,报告和保存系统活动信息。sar命令会把当天的CPU活动情况全部写入标准输出中。默认记录间隔时间是10分钟,你也可以添加参数来指定sar需要收集数据。

输入:sar

输出:

ps

ps是一条功能非常全面的命令。通过使用ps命令,可以很清楚的看出到底是哪一条进程在吃CPU。排在前面的占用的CPU越多

输入:ps -eo pcpu,pid,user,args | sort -k 1 -r | head -16

输出





perf

安装perf

yum list perf

yum -y install perf.x86_64


由于需要到github下载可视化分析工具FlameGraph,所以要先安装git

yum list git

yum -y install git.x86_64

git clone https://github.com/JaxYoun/FlameGraph.git

mv FlameGraph fg //方便起见,重命名FlameGraph目录


采集、转换、可视化【root权限】

perf record -F 99 -p 18733 -g -- sleep 30

perf script -i perf.data &> perf.unfold

fg/stackcollapse-perf.pl perf.unfold &> perf.folded

fg/flamegraph.pl perf.folded > perf.svg


将perf.svg下载到本地用Chrome浏览器打开即可阅读。




free

cat /proc/meminfo

cat /proc/cpuinfo

du -sh *

查看CPU个数

cat /proc/cpuinfo | grep "physical id" | uniq | wc -l

查看CPU核数

cat /proc/cpuinfo | grep "cpu cores" | uniq

查看CPU型号

cat /proc/cpuinfo | grep 'model name' |uniq