分享好友 系统运维首页 频道列表

Linux命令详解-top

Linux系统  2016-11-07 14:130

显示全文:

linux下的top命令能够比较详细的显示linux正在运行的一些进程,显示cpu,内存等资源使用率,非常实用。

执行top命令的输出:

top - 18:41:37 up  3:22,  1 user,  load average: 0.00, 0.00, 0.00
Tasks: 145 total,   1 running, 144 sleeping,   0 stopped,   0 zombie
Cpu(s):  0.1%us,  0.2%sy,  0.0%ni, 99.2%id,  0.6%wa,  0.0%hi,  0.0%si,  0.0%st
Mem:   1906552k total,   358736k used,  1547816k free,    61964k buffers
Swap:  2097144k total,        0k used,  2097144k free,   168592k cached

   PID USER      PR  NI  VIRT  RES  SHR S %CPU %MEM    TIME+  COMMAND                        
   250 root      20   0     0    0    0 S  2.0  0.0   0:00.64 mpt_poll_0                      
  3925 root      20   0 15032 1128  832 R  2.0  0.1   0:00.02 top                             
     1 root      20   0 19356 1540 1232 S  0.0  0.1   0:02.24 init                            
     2 root      20   0     0    0    0 S  0.0  0.0   0:00.01 kthreadd                        
     3 root      RT   0     0    0    0 S  0.0  0.0   0:00.40 migration/0                     
     4 root      20   0     0    0    0 S  0.0  0.0   0:00.45 ksoftirqd/0                     
     5 root      RT   0     0    0    0 S  0.0  0.0   0:00.00 migration/0                     
     6 root      RT   0     0    0    0 S  0.0  0.0   0:00.04 watchdog/0                      
     7 root      RT   0     0    0    0 S  0.0  0.0   0:00.11 migration/1                     
     8 root      RT   0     0    0    0 S  0.0  0.0   0:00.00 migration/1                     
     9 root      20   0     0    0    0 S  0.0  0.0   0:00.20 ksoftirqd/1                     
    10 root      RT   0     0    0    0 S  0.0  0.0   0:00.03 watchdog/1                      
    11 root      20   0     0    0    0 S  0.0  0.0   0:11.86 events/0                        
    12 root      20   0     0    0    0 S  0.0  0.0   0:01.63 events/1                        
    13 root      20   0     0    0    0 S  0.0  0.0   0:00.00 cgroup                          
    14 root      20   0     0    0    0 S  0.0  0.0   0:00.00 khelper                         
    15 root      20   0     0    0    0 S  0.0  0.0   0:00.00 netns                           
    16 root      20   0     0    0    0 S  0.0  0.0   0:00.00 async/mgr                       
    17 root      20   0     0    0    0 S  0.0  0.0   0:00.00 pm                              
    18 root      20   0     0    0    0 S  0.0  0.0   0:00.14 sync_supers      

输出各参数含义:

top - 18:41:37 up 3:22:启动时间,运行时间。

load average 0.00 0.00 0.00平均1min,5min,10min的平均队列长度,长度约小,cpu负载越低

tasks:所有进程的相关信息。正在运行的进程总数,睡眠中的进程,运行中的进程,僵尸进程以及停止进程的数目。

cpus显示平均cpu的负载情况;按1键可以看到多个cpu的情况。

0.0%us:用户空间所占的百分比
0.2%sy:系统进程所占用cpu百分比,
ni:nice值,调整nice或者为了调整nice所占比例。
id:空闲; wa:等待IO完成所等待的时间。hi:硬件终端所占用的时间。si:软件终端所占用的时间
st:被偷走的。

Mem:内存统计信息,包括内存总量,已用内存,空闲内存量,不同进程共享的内存量,以及用作缓冲区的内存量。

Swap:显示了虚存或交换活动的统计信息,包括交换空间总量,已用的交换空间,空闲的交换空间大小以及缓存的交换空间大小。

VIRT:虚拟内存集:进程“需要的”虚拟内存大小,包括进程使用的库,代码,数据等。假如进程申请100m的内存,但实际只使用了10m,那么它会增长100m,而不是实际的使用量

RES:常驻内存集 :

1),进程当前使用的内存大小,但不包括swap out 
2),包含其他进程的共享 
3),如果申请100m的内存,实际使用10m,它只增长10m,与VIRT相反 
4),关于库占用内存的情况,它只统计加载的库文件所占内存大小

SHR:共享内存大小:

1),除了自身进程的共享内存,也包括其他进程的共享内存 
2),虽然进程只使用了几个共享库的函数,但它包含了整个共享库的大小 
3),计算某个进程所占的物理内存大小公式:RES – SHR 
4),swap out后,它将会降下来

S:状态(详细进程各种状态见下方补充)。

time:并不是挂钟走的时间,而是真正占用cpu的时间。

top是一个交互命令,我们可以输入以下命令:

M:按照memory的大小进行排列。
P:按照占用的cpu进行排列。
T:占用的时间进行排序。

l:是否显示平均负载和启动时间
t:是否显示进程和CPU状态相关信息。
m:是否显示内存相关信息。

c:是否显示完整的命令行信息
q:退出top
k:终止某个进程。

top   -d  1  :显示刷新时长为1s
top    -b  :批处理,一屏一屏显示。
    -n  #:指定显示多少批。

补充:进程的一些状态信息:

进程状态:

**D**:表示不可中断的睡眠
**R**:表示运行或就绪
**S**:可中断的睡眠
**T**:停止
**Z**:僵死
**<**:高优先级的进程
**N**:低优先级的进程
**+**:前台进程组中的进程。(从命令行输入的进程)
**l**:多线程进程
**s**:会话进程首进程

查看更多关于【Linux系统】的文章

展开全文
相关推荐
反对 0
举报 0
评论 0
图文资讯
热门推荐
优选好物
更多热点专题
更多推荐文章
每天一条linux命令——halt
halt命令用来关闭正在运行的Linux操作系统。halt命令会先检测系统的runlevel,若runlevel为0或6,则关闭系统,否则即调用shutdown来关闭系统。 语法:halt(选项)选项:-d:不要在wtmp中记录;-f:不论目前的runlevel为何,不调用shutdown即强制关闭系统;-i:

0评论2023-02-10470

几个linux命令查看堆栈内存问题 几个linux命令查看堆栈内存问题怎么解决
  公司编写代码,发现整个在程序里面调用system时候总是失败,原因是can't allocate memory ,根本原因不是内存不足,而是堆栈内存不够。使用ulimit -s 2048后有所好转但是发现一旦系统进程开启多了后仍然会挂。后来使用objdump -x 后发现了原因有个动态库

0评论2023-02-09953

Linux命令总结--rm命令 linux的rmp命令
(来源于http://www.cnblogs.com/xqzt/p/5398919.html)1、命令简介rm(Remove file 删除目录或文件)删除文件,对于链接文件,只是删除整个链接文件,而原有文件保持不变。新手在删除文件之前一定要知道这些:很重要1.可以用mv代替rm的绝对不要用rm,不要着急

0评论2023-02-09320

Linux命令行批量创建目录详解 linux创建目录
以前一直用-p创建目录链,觉得很方便了。在空目录/opt/app/myapp里创建src,再创建main,再创建javamkdir -p /opt/app/myapp/src/main/java没想到还可以这样玩##¥%……*(root@vm1:~/tmp# mkdir -p src/{{main,test}/{java,resources},main/webapp}root@vm1:

0评论2023-02-09819

Linux命令之乐--script和scriptplay
script和scriptplay可以把终端会话记录到一个文件中,可以用来制作命令行教学视屏。 开始录制会话[root@new test]# script -t 2timing.log -a output.sessionScript started, file is output.session[root@new test]# echo hellohello[root@new test]# echo

0评论2023-02-09430

java 开发常用的Linux命令
1.查找文件 find / -name filename.txt 根据名称查找/目录下的filename.txt文件。find . -name "*.xml" 递归查找所有的xml文件find . -name "*.xml" |xargs grep "hello world" 递归查找所有文件内容中包含hello world的xml文件grep -H 'spring' *.xml 查找所

0评论2023-02-09390

常用Linux命令整理 Linux常用命令总结
常用Linux命令整理常见系统命令export 查看或修改环境变量# 例:临时修改命令提示符为字符串$export PS1=$# 例:临时修改命令提示符显示系统时间 时间使用\t 表示export PS1="[\u@\h \t \W]\$"man 查看linux系统的手册# 例:查看ls命令如何使用man ls # 回车

0评论2023-02-09592

Linux命令行查看cpu(lm_sensors)和显卡温度(nvidia-smi)的操作方法
Linux命令行如何查看cpu和显卡温度lm_sensors,是一款基于linux系统的硬件监控的软件。可以监控主板,CPU的工作电压,温度等数据。实际上sensors命令只是读取了/sys/class/hwmon/目录下关于CPU等传感器温度参数并直观的展示给我们,我们不安装lm_sensors模块

0评论2023-02-07382

Linux命令行循环执行shell命令 linux shell命令行
目录Linux命令行,循环执行shell命令死循环命令格式效果普通计数循环循环10次效果Linux shell循环命令 while死循环的用法Linux命令行,循环执行shell命令死循环命令格式while true ;do command; done;可以将 command 替换为任意命令。下面以echo “hello”; s

0评论2023-02-07705

通过Golang实现linux命令ls命令(命令行工具构建)
目录ls 命令os.Args 读取参数pflag小结ls 命令要实现ls,首先先我们复习一下ls命令。ls不加任何参数,表示查询当前目录下的文件/文件夹ls后面加上路径,列出所有,不包含隐藏文件/文件夹ls -a列出所有,包括以.开头的隐藏文件此命令还有很多功能,这一节的重

0评论2023-02-07529

?第五周作业
1、显示/boot/grub/grub.conf中以至少一个空白字符开头的行;[root@localhost ~]# grep-E ^[[:space:]]+ /boot/grub/grub.conf root (hd0,0)kernel /vmlinuz-2.6.32-431.el6.x86_64 ro root=/dev/mapper/VolGroup-lv_root rd_NO_LUKS.UTF-8 rd_NO_MD rd_LVM_L

0评论2017-02-05452

Linux查找find命令详解
Linux查找–find命令首先,大家如果看到有什么不懂的地方,欢迎吐槽!!!find命令的格式findpathname-options[ -print -exec -ok ...]pathname #是find命令所查找的目录路径,例如.表示当前目录,/表示根目录-print #表示find命令将匹配的文件输出到标准输出

0评论2017-02-05352

更多推荐