Linux服务器性能分析可以使用top命令,可以查看cpu使用率等等
输入top命令,界面如下(ubuntu)
第一行:系统运行状态和平均负载
第一个参数:目前的时间 :10:14分
第二个参数:系统目前运行的时间:运行了33分钟
第三个参数:当前有多少人登录了这个系统: 1个
第四个参数:系统负载,既任务队列的平均长度,三个数值分别代表最近1分钟,5分钟,15分钟的系统平均负载
关注点1:系统负载
对于单核CPU来说,0表示没有负荷,1表示满负荷,大于1表示超负荷,理想值是0.7
对于多核CPU来说,用核数按比例放大就好,比如四核CPU,理想值就是4*0.7=2.8
如何查看CPU核数:
查看CPU核数:
# 命令
cat /proc/cpuinfo | grep name | cut -f2 -d: | uniq -c
# 结果
4 Intel(R) Core(TM) i5-3320M CPU @ 2.60GHz
第一个参数是核数,第二个参数是型号
第二行:进程相关信息
第一个参数:进程总数:264个
第二个参数:正在运行的进程数 : 1个
第三个参数:睡眠的进程数:263个
第四个参数:停止的进程数 : 0个
第五个参数:僵尸进程数 :0个
第三行:cpu信息,按1可以切换显示多核CPU信息
第一个参数:us用户空间占用的cpu百分比:7.7%
第二个参数:sy内核空间占用的cpu百分比:9.1%
第三个参数:ni用户进程空间内改变过优先级的进程占用CPU百分比:0%
第四个参数:id 空闲CPU百分比:82.7%
== 关注点2 ==
空闲cpu百分比,这里就表示还剩多少cpu处于空闲状态
一般剩余不到50%就需要关注一下,是否服务器压力可能过大,这个根据不同的要求,具体判断就好了
第五个参数:wa等待输入输出的CPU时间百分比:0%
第六个参数:hi CPU服务于硬件中断所耗费的时间总额:0%
第七个参数:si CPU服务软中断所耗费的时间总额:0.5%
第八个参数:st Steal time 虚拟机被hypervisor偷去的CPU时间:0%
第四行:内存信息
第一个参数:mem 物理内存总量 : 后缀是total
第二个参数: 空闲内存总量 : 后缀是free
第三个参数 :使用的物理内存总量 : 后缀是used
第四个参数 : 用作内核缓存的内存量 : 后缀是buff/cache
第五行:
第一个参数:交换区总量 : 后缀是total
第二个参数:空闲交换区总量 : 后缀是free
第三个参数:使用的交换区总量 : 后缀是used
第四个参数:缓冲的交换区总量 : 后缀是avail mem
因为各个系统之间,显示的参数名称不一样,但大体表示内容一致
PID(process id):进程id
USER (user name):进程所有者的用户名
PR (priority) :优先级
NI (nice value) : 负值表示高优先级,正值表示低优先级
VIRT (Virtual Image (kb)) : 进程使用的虚拟内存总量,单位kb。VIRT=SWAP+RES
RES (Resident size (kb)) : 进程使用的、未被换出的物理内存大小,单位kb。RES=CODE+DATA
SHR (Shared Mem size (kb)) : 共享内存大小,单位kb
S (Process Status) : 进程状态。D=不可中断的睡眠状态,R=运行,S=睡眠,T=跟踪/停止,Z=僵尸进程
%CPU (CPU usage) : 上次更新到现在的CPU时间占用百分比。这里可能超过100%,每一个100%表示占用了一个CPU,比如230%,表示目前这个进程占用了2核CPU
%MEM (Memory usage (RES)) :进程使用的物理内存百分比
TIME+ (CPU Time, hundredths) : 进程使用的CPU时间总计,单位1/100秒
COMMAND (Command name/line) : 命令名/命令行