一. 实时监测进程 top

  在一篇里讲到ps命令在收集进程信息时非常有用,但它只能显示某个特定时间点的信息。想要观察那些频繁换进换出的内存进程趋势,用top命令是合适的。使用top命令如下图所示:
    

  在上图中分为二部份信息,一部份是系统的概述,另一部份是列表的进程概述。

  1.1 第一部分

    第一行显示了当前的系统时间,up是指系统运行时间,user 是指用户登录数,以及load average是指系统平均负载。
    在平均负载有3个值:最近1分钟,最近5分钟,最近15分钟点。值越大说明系统的负载越高。由于进程短期的突发性活动,出现最近1分钟的高负载值也很常见。但近15分钟内平均负载都很高,说明说系统可能有问题。通常系统的负载值超过了2,就说明系统比较繁忙了。

    第二行显示了进程概要信息。 Tasks是进程数叫做任务。包括几种状态:运行,休眠,停止,僵化。上图显示了1个进程运行, 208个进程休眠。

    第三行显示了CPU概述信息。us和 sy 是进程的属主(用户还是系统)。us 是运行用户进程的cpu时间。sy 是运行内核进程的cpu时间。  ni 是指niced 运行已调整优先级的用户进程cpu时间。 wa 是指IO wait 等待IO完成的cpu时间。Hi是指处理硬件中断的cpu时间。Si是处理软件中断的cpu时间。
    最后二行是系统内存的状态。 第一行说的是系统的物理内存总量。Used当前用了多少内存。Free还有多少空闲内存。Buff/cache缓存的内存量。第二行说的是系统的交换空间。

  1.2 第二部份
    进程列表显示了当前运行中的进程详细列表信息,跟ps -ef命令输出类似。

列名

说明

PID

进程ID

USER

进程属主的名字

PR

进程的优先级

VIRT

进程占用的虚拟内存总量

RES

进程占用的物理内存总量

SHR

进程与其它进程共享的内存总量

S

进程状态(D可中断的休眠状态,R运行,S休眠,T停止,Z僵化)

%CPU

进程使用的CPU时间比例

%MEM

进程使用的内存占可用内存的比例

TIME+

进程启动到现在Cpu时间总量

    默认情况下,top命令会按照%CPU值对进程排序。当top命令运行监控时,可以使用多种交互命令。例如按下f 键允许你选择对输出进行排序字段,默认是%CPU字段排序。按d键允许修改轮询间隔,按q键退出t监控。使用这个工具能经常找出占用系统大部份资源的进程。
    下图是在top监控时,按下f键,选择要排序的字段。

      

二.结束进程kill与killall

    当管理员找到了占用系统大部份资源的进程时,可能需要手动结束该进程。

  2.1 kill 命令

    Kill命令通过进程ID(PID)给进程发信号。要发送进程信号,必须是进程的属主或登录为root用户,下图是查看一个mysqld服务进程。
    

    下面通过kill 来结束mysqld服务进程。

    

    再来查看mysqld进程是否在运行,如下图已不存在
    

  2.2 killall 命令 

    该命令非常强大,它通过支持进程名而不是PID来结束进程。Killall命令也支持通配符。通配符如下,删除前缀有mysql的字符进程.使用进要小心,有可能结束的重要的系统进程。
    

    下面是通过进程名来删除mysqld.pid进程,同样删除后mysqld.pid进程不存在了。
    

Linux编程 7 (实时监测进程 top, 结束进程kill,killall)的更多相关文章

  1. Windows下查看进程及结束进程命令[转]

    Windows下查看进程及结束进程命令 1)查看占用8080端口的进程号 >netstat –aon | findstr “8080” 结果:TCP    0.0.0.0:8080        ...

  2. Windows下查看8080进程及结束进程命令

    Windows下查看进程及结束进程命令 1)查看占用8080端口的进程号 >netstat –aon | findstr “8080” 结果:TCP    0.0.0.0:8080        ...

  3. Delphi监视进程并结束进程

    监视进程并结束进程在很多地方都用到这里借前人的经验写了个小例子: 以QQ的进程qq.exe为例 关键代码如下: function CheckTask(ExeFileName: string): Boo ...

  4. C#程序中:如何启用进程、结束进程、查找进程

    在启动某个程序之前,如果需要先检查改程序是否已经运行,可以查找进程里有没有这个进程,再根据查找进程后的结果进行相应的判断操作. 产找进程的范围是任务管理器中的进程列表.如果进程被隐藏了,结果……(我没 ...

  5. windows下查看进程及结束进程命令

    windows下查看进程及结束进程命令 1)查看占用8080端口的进程号 >netstat –aon | findstr “8080” 结果:TCP    0.0.0.0:8080        ...

  6. Netdata Linux下性能实时监测工具

    导读 本文将介绍一款非常好用的工具——Netdata,这是一款Linux性能实时监测工具,为一款开源工具,我对其英文文档进行了翻译,水平有限,有翻译错误的地方欢迎大家指出,希望本文对大家有所帮助,谢谢 ...

  7. linux查看进程与结束进程

    查看所有进程 ps -ef ps -ef | grep 查找的进程名 结束进程 ps -ef | grep 查找的进程名 | grep -v grep | awk '{print $2}' | xar ...

  8. Linux 修改权限,查看进程,结束进程 命令

    在linux终端先输入ll,可以看到bai如:-rwx-r--r-- (一共10个参数) 表示文件所属组和du用户的对应权限.zhi第一个跟dao参数属于管理员,跟chmod无关,先不管.2-4参数: ...

  9. Linux查询进程和结束进程

    1.  ps -ef |grep redis ps:将某个进程显示出来-A 显示所有程序. -e 此参数的效果和指定"A"参数相同.-f 显示UID,PPIP,C与STIME栏位. ...

随机推荐

  1. [leetcode]96. Unique Binary Search Trees给定节点形成不同BST的个数

    Given n, how many structurally unique BST's (binary search trees) that store values 1 ... n? Input: ...

  2. IOS Javascript Date的坑

    Date对象是JavaScript提供的日期和时间的操作接口,它有多种用法.手册上或者网上也有很多文章介绍,这里就不再次复述了. 上次遇到一个坑,这里总结下,也不是什么大问题,若是如果有经验,就不会花 ...

  3. 阮一峰大神的快排?刚才还在纠结sort()的我!真是个小傻瓜

    看到这个标题之后 我毫不犹豫的点进去了 趁现在不忙我赶紧把代码写到了我的小本本上好好研究研究 (写的就不放进来了 有点丑) 研究了下  第一反应 明明能用sort()解决的 为什么非要写这么一大串 但 ...

  4. Codeforces 1082C Multi-Subject Competition 前缀和 A

    Codeforces 1082C Multi-Subject Competition https://vjudge.net/problem/CodeForces-1082C 题目: A multi-s ...

  5. 软件推荐-有限元开发软件FELAC

    首页:http://yuanjisuan.cn/ 有限元语言及其编译器(Finite Element Language And it’s Compiler),以下简称FELAC是中国科学院数学与系统科 ...

  6. Dockerfile 构建容器

    本文是最简单的Dockerfile教程,创建tomcat容器,并跑自己的java程序 首先需要准备几个东西 1.你的java web(test.war) 程序,最好打包成一个 war:(主要是没测试 ...

  7. SOPC与 hello world

    本次设计实验源码位于:http://download.csdn.net/detail/noticeable/9922865 实验目的:通过系统的搭建进一步了解FPGA的SOPC开发流程,并借此了姐pl ...

  8. iowait过高处理

    网管告警: 告警主机:YiDHLWJKFZ-js-app- 主机IP:192.168.***.*** 告警项目:system.cpu.util[,iowait] 告警时间: :: 告警等级:Warni ...

  9. Spring 使用xml配置aop

    1.xml文件需要引入aop命名空间 2.xml内容: <?xml version="1.0" encoding="UTF-8"?> <bea ...

  10. mac下安装安卓开发环境

    对于做ios的人来说,安装安卓开发环境,最好是在mac下安装了,我的mac是10.8.2,64位系统的 安卓开发环境需要下面几个东西: 1 jdk(mac下已经默认有了,可以在命令提示符下输入java ...