top命令主要用于分析linux服务器当前的实时CPU和内存消耗情况,以及进程的运行情况统计。
命令使用:top ,具体top命令的使用方法和以下截图的各个信息的含义,可通过man top命令来查看。
其中比较常用的是:按1显示各个核的统计,使用-p参数指定所要监控的进程号。
从上到下分析:
第一行:top - 11:32:29 up 109 days, 20:46, 1 user, load average: 0.24, 0.36, 0.44
11:32:29:当前服务器时间
up 109 days:服务器运行了多久
1 user:当前的登录用户数量
load average: 0.24, 0.36, 0.44系统1分钟,5分钟,15分钟的负载统计,这个数字在单核和多核之间是存在差别的,
(1)如果是单核,则值在0.0~1.0之间表示正常,一般不要超过0.7,多核类似。
(2)如果是多核,则值在0.0~CPU核心数表示正常,如2核是0到2,4核是0到4。多核参照单核的标准的话,是:数值 / CPU核数,在0.00-1.00之间正常。当使用这个数值除以CPU核数,即:数值 / CPU核数,之后,如果大于5则表示系统负载太高。
CPU的核心数查看:
查看物理CPU的个数 #cat /proc/cpuinfo |grep "physical id"|sort |uniq|wc –l 查看逻辑CPU的个数 #cat /proc/cpuinfo |grep "processor"|wc –l 查看CPU是几核 #cat /proc/cpuinfo |grep "cores"|uniq 查看CPU的主频 #cat /proc/cpuinfo |grep MHz|uniq 直接获得CPU核心数 (该命令即可全部算出多少核) #grep 'model name' /proc/cpuinfo | wc -l
第二行:Tasks: 113 total, 2 running, 111 sleeping, 0 stopped, 0 zombie
113 total:当前系统一共有113个进程
2 running:2个进程正在运行
111 sleeping:111个进程在休眠
0 stopped:停止进程的个数
0 zombie:僵尸进程的个数
第三、四行:两个CPU核的统计信息
Cpu0 : 27.2%us, 16.4%sy, 0.0%ni, 46.0%id, 0.0%wa, 0.0%hi, 3.7%si, 6.7%st
Cpu1 : 20.2%us, 12.8%sy, 0.0%ni, 55.9%id, 0.0%wa, 0.0%hi, 3.7%si, 7.4%st
第五行:Mem: 5991036k total, 5878620k used, 112416k free, 39464k buffers
第六行:Swap: 4194300k total, 51312k used, 4142988k free, 1663552k cached
对于当前的可用内存量 为:free + buffers + cached
PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND 8960 root 20 0 4437m 1.2g 5888 S 56.6 20.8 46006:20 JAVA 26114 root 20 0 4709m 2.3g 8400 S 26.4 40.0 2379:41 java 15076 root 20 0 2790m 110m 2332 S 4.5 1.9 4633:09 java