性能数据的监控,除了针对整机进行外,还要求我们对某一运行的程序单独进行。常用的程序监控命令有ps和top。

Ps

ps命令最常用的还是用于监控后台进程的工作情况,因为后台进程是不和屏幕键盘这些标准输入/输出设备进行通信的,所以假如需要检测其情况,便能够使用ps命令了。
ps是用来报告程序执行状况的指令,可以搭配kill指令随时中断,删除不必要的程序。

使用方式: ps [options] [--help]

ps 的参数非常多, 在此仅列出几个常用的参数并大略介绍含义。

参数 说明
-A 列出所有的程序
-w 显示加宽可以显示较多的资讯
-au 显示较详细的资讯
-aux 显示所有包含其他使用者的进程
-e 显示任何进程(此参数的效果和指定"A"参数相同)
-f 全格式(显示UID,PPIP,C与STIME栏位)
-C 指定执行指令的名称,并列出该指令的程序的状况

au(x)参数的输出格式:

参数 说明
USER 行程拥有者
PID pid
%CPU 占用的 CPU 使用率
%MEM 占用的内存使用率
VSZ 占用的虚拟内存大小
RSS 占用的物理内存大小
TTY 终端的次要装置号码 (minor device number of tty)
STAT 该进程的状态:
D: 不可中断的静止 (I/O 动作)
R: 正在执行中
S: 静止状态
T: 暂停执行
Z: 不存在但暂时无法消除
W: 没有足够的记忆体分页可分配
<: 高优先序的行程
N: 低优先序的行程
L: 有记忆体分页分配并锁在记忆体内 (即时系统)
START 行程开始时间
TIME 执行的时间
COMMAND 所执行的指令

范例1

[work@jx-testing-ps1933.jx.baidu.com ~]$ ps
  PID TTY          TIME CMD
24321 pts/0    00:00:00 bash
24414 pts/0    00:00:00 ps

能够看到,显示的项目共分为四项,依次为PID(进程ID)、TTY(终端名称)、TIME(进程执行时间)、COMMAND(该进程的命令行输入)。

范例2

使用带有-ef 选项的ps,返回系统中所有用户的所有进程的完整列表。一般将此ps命令的结果传送到 grep 中,则该结果更易于查看。例如:

[work@jx-testing-ps1933.jx.baidu.com ~]$ ps -ef | grep work
root     24316  2544  0 09:52 ?        00:00:00 sshd: work [priv]
work     24320 24316  0 09:52 ?        00:00:00 sshd: work@pts/0 
work     24321 24320  0 09:52 pts/0    00:00:00 -bash
work     24416 24321  0 10:44 pts/0    00:00:00 ps -ef
work     24417 24321  0 10:44 pts/0    00:00:00 grep work

使用PS命令分析系统性能的方法主要有:
1)首先,根据用户ID寻找由同一用户执行的许多相似任务,这些任务很可能是因为用户运行的某个脚本程序在后台启动多个进程而造成的。
2)接下来,检查TIME域中各进程累计占用CPU的时间,如果有某个进程累计占用了大量的CPU时间,通常说明该进程可能陷入了无限循环,或该进程的某些逻辑出了错
3)找到那些已陷入死锁的进程ID后,就可以使用kill命令强制终止该进程了。

Top

top命令和ps命令的基本作用是相同的,显示系统当前的进程和其它状况;但是top是一个动态显示过程,即可以通过用户按键来不断刷新当前状态。如前台执行该命令,它将独占前台,直到用户终止该程序为止。比较准确的说,top命令提供了实时的对系统处理器的状态监视。它将显示系统中CPU最“敏感”的任务列表。该命令可以按CPU使用、内存使用、执行时间对任务进行排序;而且该命令的很多特性都可以通过交互式命令或者在个人定制文件中进行设定。

top命令语法: top [-] [d delay] [q] [c] [S] [s] [i] [n]

参数 说明
d 指定更新的间隔,以秒计算
q 没有任何延迟的更新。如果使用者有超级用户,则top命令将会以最高的优先序执行
c 显示进程完整的路径与名称
S 累积模式,会将己完成或消失的子行程的CPU时间累积起来
s 安全模式
i 不显示任何闲置(Idle)或无用(Zombie)的行程
n 显示更新的次数,完成后将会退出top

top命令的显示

[work@jx-testing-ps1933.jx.baidu.com ~]$ top
top - 10:53:56 up 223 days, 16:04,  1 user,  load average: 0.00, 0.00, 0.00
Tasks:  57 total,   1 running,  56 sleeping,   0 stopped,   0 zombie
Cpu(s):  0.0% us,  0.0% sy,  0.0% ni, 100.0% id,  0.0% wa,  0.0% hi,  0.0% si
Mem:   8161244k total,  6548780k used,  1612464k free,    30500k buffers
Swap:        0k total,        0k used,        0k free,  6419912k cached

PID USER      PR  NI  VIRT  RES  SHR S %CPU %MEM    TIME+  COMMAND                                                         
    1 root      16   0  4752  544  452 S  0.0  0.0   0:01.88 init                                                            
    2 root      RT   0     0    0    0 S  0.0  0.0   0:22.27 migration/0                                                     
    3 root      34  19     0    0    0 S  0.0  0.0   0:00.19 ksoftirqd/0                                                     
    4 root      RT   0     0    0    0 S  0.0  0.0   0:20.52 migration/1                                                     
    5 root      34  19     0    0    0 S  0.0  0.0   0:00.22 ksoftirqd/1                                                     
    6 root      RT   0     0    0    0 S  0.0  0.0   0:18.87 migration/2                                                     
    7 root      34  19     0    0    0 S  0.0  0.0   0:00.25 ksoftirqd/2                                                     
    8 root      RT   0     0    0    0 S  0.0  0.0   0:12.73 migration/3                                                     
    9 root      34  19     0    0    0 S  0.0  0.0   0:00.23 ksoftirqd/3                                                     
   10 root       5 -10     0    0    0 S  0.0  0.0   0:00.04 events/0                                                        
   11 root       5 -10     0    0    0 S  0.0  0.0   0:00.03 events/1                                                        
   12 root       5 -10     0    0    0 S  0.0  0.0   0:39.59 events/2                                                        
   13 root       5 -10     0    0    0 S  0.0  0.0   0:00.00 events/3                                                        
   14 root       5 -10     0    0    0 S  0.0  0.0   0:00.33 khelper                                                         
   15 root      15 -10     0    0    0 S  0.0  0.0   0:00.00 kacpid                                                          
   71 root       5 -10     0    0    0 S  0.0  0.0   0:00.00 kblockd/0                                                       
   72 root       5 -10     0    0    0 S  0.0  0.0   0:00.00 kblockd/1                                                       
   73 root       5 -10     0    0    0 S  0.0  0.0   0:00.00 kblockd/2  

第一行表示的项目依次为当前时间、系统启动时间、当前系统登录用户数目、平均负载。
第二行显示的是所有启动的进程、目前运行的、挂起 (Sleeping)的和无用(Zombie)的进程。
第三行显示的是目前CPU的使用情况,包括系统占用的比例、用户使用比例、闲置(Idle)比例。
第四行显示物理内存的使用情况,包括总的可以使用的内存、已用内存、空闲内存、缓冲区占用的内存。
第五行显示交换分区使用情况,包括总的交换分区、使用的、空闲的和用于高速缓存的大小。
第六行显示的项目最多,下面列出了详细解释。

参数 说明
PID(Process ID) 进程标示号
USER 进程所有者的用户名
PR 进程的优先级别
NI 进程的优先级别数值
VIRT 进程占用的虚拟内存值
RES 进程占用的物理内存值
SHR 进程使用的共享内存值
S 进程的状态,其中S表示休眠,R表示正在运行,Z表示僵死状态,N表示该进程优先值是负数
%CPU 该进程占用的CPU使用率
%MEM 该进程占用的物理内存和总内存的百分比
TIME+ 该进程启动后占用的总的CPU时间
Command 进程启动的启动命令名称,如果这一行显示不下,进程会有一个完整的命令行

top命令使用过程中,还可以使用一些交互的命令来完成其它参数的功能。这些命令是通过快捷键启动的。

命令 说明
空格 立刻刷新
P 根据CPU使用大小进行排序
T 根据时间、累计时间排序
q 退出top命令
m 切换显示内存信息
t 切换显示进程和CPU状态信息
c 切换显示命令名称和完整命令行
M 根据使用内存大小进行排序
W 将当前设置写入~/.toprc文件中。这是写top配置文件的推荐方法
Ctrl+L 擦除并且重写屏幕
k 终止一个进程。系统将提示用户输入需要终止的进程PID,以及需要发送给该进程什么样的信号。一般的终止进程可以使用15信号;如果不能正常结束那就使用信号9强制结束该进程。默认值是信号15。在安全模式中此命令被屏蔽
i 忽略闲置和僵死进程。这是一个开关式命令
r 重新安排一个进程的优先级别。系统提示用户输入需要改变的进程PID以及需要设置的进程优先级值。输入一个正值将使优先级降低,反之则可以使该进程拥有更高的优先权。默认值是10
S 切换到累计模式
s 改变两次刷新之间的延迟时间。系统将提示用户输入新的时间,单位为s。如果有小数,就换算成m s。输入0值则系统将不断刷新,默认值是5 s。需要注意的是如果设置太小的时间,很可能会引起不断刷新,从而根本来不及看清显示的情况,而且系统负载也会大大增加
f或者F 从当前显示中添加或者删除项目
o或者O 改变显示项目的顺序
l 切换显示平均负载和启动时间信息

可以看到,top命令是一个功能十分强大的监控系统的工具,对于系统管理员而言尤其重要。但是,它的缺点是会消耗很多系统资源。

使用top命令也可以监视指定用户,缺省情况是监视所有用户的进程。如果想查看指定用户的情况,在终端中按“U”键,然后输入用户名,系统就会切换为指定用户的进程运行界面。

Linux性能监控(程序篇)的更多相关文章

  1. Linux性能监控

    转自:http://blog.csdn.net/chosen0ne/article/details/8200737 linux性能监控,就是要监控系统的各个子系统是否正常.linux主要的子系统包括: ...

  2. Linux 性能监控之CPU&内存&I/O监控Shell脚本2

    Linux 性能监控之CPU&内存&I/O监控Shell脚本2   by:授客 QQ:1033553122 思路: 捕获数据->停止捕获数据->提取数据 备注:一些命令的输 ...

  3. Linux 性能监控之CPU&内存&I/O监控Shell脚本1

    Linux 性能监控之CPU&内存&I/O监控Shell脚本1   by:授客 QQ:1033553122   #!/bin/bash # 获取要监控的本地服务器IP地址 IP=`if ...

  4. linux性能监控 -CPU、Memory、IO、Network等指标的讲解

    [操作系统-linux]linux性能监控 -CPU.Memory.IO.Network等指标的讲解(转) 一.CPU 1.良好状态指标 CPU利用率:User Time <= 70%,Syst ...

  5. Linux性能监控与分析之--- CPU

    Linux性能监控与分析之--- CPU 望月成三人关注 2016.07.25 18:16:12字数 1,576阅读 2,837 CPU性能指标 用户进程使用CPU的比率 系统进程使用CPU的比率 W ...

  6. JVM-Java程序性能监控-初级篇

    前篇 - 小伙们都知道,java程序的性能监控主要是针对jvm中heap的监控~ 那么在做压力测试时如何对heap.线程等一系列的指标进行的监控的呢? 首先-你若不懂命令,那么就需要了解一套Java程 ...

  7. linux ---性能监控(工具)

    linux服务器性能监控-nmon Nmon 是一个分析aix和linux性能的免费工具,出自IBM,其采集的数据通过nmon_analyser生成报表 一.下载 官网下载地址 百度网盘 二.运行和使 ...

  8. Linux 性能监控的18个命令行工具

    对于系统和网络管理员来说每天监控和调试Linux系统的性能问题是一项繁重的工作.在IT领域作为一名Linux系统的管理员工作5年后,我逐渐 认识到监控和保持系统启动并运行是多么的不容易.基于此原因,我 ...

  9. linux性能监控分析及通过nmon_analyse生成分析报表

    nmon是一款分析 AIX 和 Linux 性能的免费工具 nmon 工具还可以将相同的数据捕获到一个文本文件,便于以后对报告进行分析和绘制图形.输出文件采用电子表格的格式 (.csv). 性能介绍 ...

  10. 【转载,整理】Linux性能监控

    一. 比较全的linux性能检测网站 1. 很好的网站,原文:http://os.51cto.com/art/201402/430050.htm 监测 cpu.内存.网络.IO等命令及工具   2.  ...

随机推荐

  1. 第二章:第2章PHP基础语法

    一. 基本的PHP语法如下: 1.PHP脚本可以放在文档中的任何位置,PHP脚本以<?php开始,以?>结束 <?php   //PHP代码 ?> 2.php文件的默认文件扩展 ...

  2. 第4章 scrapy爬取知名技术文章网站(1)

    4-1 scrapy安装以及目录结构介绍 安装scrapy可以看我另外一篇博文:Scrapy的安装--------Windows.linux.mac等操作平台,现在是在虚拟环境中安装可能有不同. 1. ...

  3. SSIS教程:创建简单的ETL包 -- 3. 添加日志(Adding Logging)

    Microsoft Integration Services 包含日志记录功能,可通过提供任务和容器事件跟踪监控包执行情况以及进行故障排除. 日志记录功能非常灵活,可以在包级别或在包中的各个任务和容器 ...

  4. [转] SQL函数说明大全

    from http://www.cnblogs.com/moss_tan_jun/archive/2010/08/23/1806861.html 一旦成功地从表中检索出数据,就需要进一步操纵这些数据, ...

  5. centos开启防火墙端口

    1. 查看已打开的端口 # netstat -anp 2. 查看想开的端口是否已开 # firewall-cmd --query-port=80/tcp 若此提示 FirewallD is not r ...

  6. 一、window下zookeeper独立部署

    zookeeper是一个分布式协调应用,用于管理大型主机.通俗地说,分布式应用相对于单体应用存在着很多要处理的问题,而这些问题通常是不太好处理的.比如,典型的一致性问题,而zookeeper可以很简单 ...

  7. PoPo数据可视化周刊第3期 - 台风可视化

    9月台风席卷全球,本刊特别选取台风最佳可视化案例,数据可视化应用功力最深厚者,当属纽约时报,而传播效果最佳的是The Weather Channel关于Florence的视频预报,运用了数据可视化.可 ...

  8. kindeditor之video插件开发

    KindEditor是一套开源的HTML可视化编辑器,主要用于让用户在网站上获得所见即所得编辑效果.不仅结构小巧,而且功能强大,最主要的是它采用插件的开发管理方式,能很容易再它的基础上添加插件来实现自 ...

  9. 关于 img 父容器比img图片要多4个像素的问题

    问题背景: <div> <img src="" /> </div> 图片和div 的宽度相同,div的高度等于图片的高度 结果发现div的高度 ...

  10. 四元数(Quaternion)和旋转 +欧拉角

    四元数介绍 旋转,应该是三种坐标变换--缩放.旋转和平移,中最复杂的一种了.大家应该都听过,有一种旋转的表示方法叫四元数.按照我们的习惯,我们更加熟悉的是另外两种旋转的表示方法--矩阵旋转和欧拉旋转. ...