博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
top命令
阅读量:6330 次
发布时间:2019-06-22

本文共 2832 字,大约阅读时间需要 9 分钟。

hot3.png

概念:top命令是Linux下常用的系统性能分析工具,能实时查看系统中各个进程资源占用情况。

参数:

-p	指定进程号	eg:top -p PID	查看进程ID为PID的进程-H	查看各个线程资源占用的情况。	eg:top			查看各个进程 资源占用的情况。		top	-H 		查看各个线程 资源占用的情况。		top -Hp	PID	查看进程ID为PID的进程中 所有线程 的资源占用情况。		-c	查看进程的完整命令(COMMAND)	eg:top -c		查看各个进程 资源占用的情况,其中命令(COMMAND)项显示详细信息。	-n	更新n次后,退出top命令。	eg:top -n 5	更新5次后,停止更新并退出top命令。

1)系统资源占用情况:

top - 15:17:57 up 366 days, 21:32,  1 user,  load average: 0.03, 0.17, 0.14Tasks: 724 total,   1 running, 723 sleeping,   0 stopped,   0 zombieCpu(s):  0.4%us,  0.1%sy,  0.0%ni, 99.5%id,  0.0%wa,  0.0%hi,  0.0%si,  0.0%stMem:  132042876k total, 101359588k used, 30683288k free,   171176k buffersSwap: 20971512k total,   407892k used, 20563620k free, 26919260k cachedtop:当前时间、系统启动时间、当前系统登录用户数目、平均负载Tasks:进程总数、运行进程数、睡眠进程数、终止进程数、僵死进程数。Cpu(s):	us	用户空间占用cpu百分比	sy	内核空间占用cpu百分比	ni	用户进程空间内改变过优先级的进程占用cpu百分比	id	空闲cpu百分比	wa	等待输入输出(I/O)的cpu百分比	hi	cpu处理硬件中断的时间	si	cpu处理软件中断的时间	st	用于有虚拟cpu的情况,表示被虚拟机偷掉的cpu时间		说明:		us高的解决方法:CPU us 高的原因主要是执行的线程不需要任何挂起动作,且一直执行,导致CPU没有机会去调度执行其它的线程。		sy高的解决方法:CPU sy 高的原因主要是线程的运行状态要经常切换,对于这种情况,常见的一种优化方法是减少线程数。	补充:	1)查看每个CPU的性能数据:使用top的交互命令数字1		注:如果机器的cpu个数较多时,按1会提示"Sorry, terminal is not big enough",这时,我们可以使用mpstat命令来查看每个cpu的情况。		2)查看每个线程的性能信息:使用top的交互命令H	或	使用top -H		常见情况:		1>某个线程CPU利用率一直100%,则说明是这个线程有可能有死循环,将PID记录下来。		2>某个线程一直在TOP 10的位置,这说明这个线程可能有性能问题。		3>CPU利用率高的几个线程在不停变化,说明并不是由某一个线程导致CPU偏高。	Mem:	total	总的物理内存	used	使用物理内存大小	free	空闲物理内存	buffers	用内核缓存的内存大小Swap:	total	总的交换空间大小	used	已经使用交换空间大小	free	空间交换空间大小	cached	缓冲的交换空间大小	补充:buffers于cached区别:buffers指的是块设备的读写缓冲区,cached指的是文件系统本身的页面缓存。

2)每个进程的资源占用情况:

PID USER      PR  NI  VIRT  RES  SHR S %CPU %MEM    TIME+  COMMAND 43997 tomcat_a  20   0 50460  26m 1988 S 19.6  0.0 739:54.12 dataservice  20227 mysql     20   0 77.9g  54g 6248 S  3.3 43.5  99046:41 mysqld      52786 root      20   0 4318m 429m  736 S  1.7  0.3  13389:54 redis-server 44077 tomcat_a  20   0 26440  19m 1908 S  0.3  0.0  23:02.34 dataservice       77400 root      20   0  194m 3012 1020 S  0.3  0.0 275:09.63 snmpd   124158 tomcat_a  20   0 15560 1784  948 R  0.3  0.0   0:03.82 top	 1 root      20   0 19356  540  316 S  0.0  0.0   0:02.66 init  	 2 root      20   0     0    0    0 S  0.0  0.0   0:00.01 kthreadd  PID		进程号USER	运行用户PR		优先级,说明:PR其实就是进程调度器分配给进程的时间片长度,单位是时钟个数,linux下一个时钟约为10ms,PR值为20则表示这个进程的时间片为200msNI		任务nice值VIRT	进程使用的虚拟内存总量,单位kb。VIRT=SWAP+RESRES		物理内存用量SHR		共享内存用量S		进程的状态。			S	睡眠状态			D	不可中断的睡眠状态			R	运行状态			Z	僵死状态			T	停止或跟踪状态%CPU	从上一次刷新到现在,该进程占用cpu时间和总时间的百分比%MEM	占用的物理内存与总内存的百分比TIME+	累计cpu占用时间COMMAND	该进程的命令名称

3)每个线程的资源占用情况:

PID   USER      PR  NI  VIRT  RES  SHR S %CPU %MEM    TIME+  COMMAND22855 tomcat_a  20   0 5650m  56m 2036 S  0.0  0.4   0:00.00 java22856 tomcat_a  20   0 5650m  56m 2036 S  0.0  0.4   0:01.79 java22857 tomcat_a  20   0 5650m  56m 2036 S  0.0  0.4   1:20.30 java

转载于:https://my.oschina.net/u/1399755/blog/1543825

你可能感兴趣的文章
windows的服务中的登录身份本地系统账户、本地服务账户和网络服务账户修改
查看>>
JAVA中循环删除list中元素的方法总结
查看>>
redis 安装
查看>>
SQL some any all
查看>>
电子书下载:Programming Windows Identity Foundation
查看>>
有理想的程序员必须知道的15件事
查看>>
用于测试的字符串
查看>>
财付通和支付宝资料收集
查看>>
PHPCMS V9数据库表结构分析
查看>>
『原创』+『参考』基于PPC的图像对比程序——使用直方图度量
查看>>
理解 IEnumerable 与 IEnumerator
查看>>
NHibernate 2.0 Beta 1 Released和一些工具
查看>>
【每天一个Linux命令】12. Linux中which命令的用法
查看>>
软件接口数据一致性机制
查看>>
微服务架构介绍和RPC框架对比
查看>>
Debian下使用OpenLDAP 管理端
查看>>
泛型排序器TComparer
查看>>
9个offer,12家公司,35场面试,从微软到谷歌,应届计算机毕业生的2012求职之路...
查看>>
创建符合标准的、有语意的HTML页面——ASP.NET 2.0 CSS Friendly Control Adapters 1.0发布...
查看>>
Adobe驳斥Flash过度耗电论 称HTML5更耗电
查看>>