linux下监控进程需掌握的四个命令
linux下监控进程需掌握的四个命令
在LInux系统下,最困难的工作之一就是跟踪正在系统中运行的程序,尤其是现在,图形桌面使用很多的程序,只是为了生成一个桌面环境,系统中运行了太多的进程,幸运的是,
有一些命令行工具可使这些任务轻松些,下面介绍四个基本工具:
一、进程的查看:
1.特定时间进程监控:ps
默认情况下,ps命令不会显示太多的信息,只显示属于当前用户并且正在当前终端运行的进程,如下图:
Linux系统中使用的GNU ps支持Unix类型参数、BSD类型参数、GNU长参数三种不同的命令行参数,下面只介绍Unix类型参数和示例:
上面列出了许多参数,但请记住,这只是其中的一部分!使用ps命令的关键不是记住所有可用的参数,而是仅记住最有用的,大多数的Linux系统管理员都有一套自己的一组常用参数,
用于提取相关信息。例如,需查看系统上运行的一切进程的详细信息,可以这样:
为节省空间,上图删去了很多行。每个信息列标题的含义如下:
如果需要更详细的信息,可以用-l命令,简要结果如下:
需要注意的是,显示结果的额外列的含义:
另外,比较方便的一个参数是-H,它会让结果分层显示,效果类似下图:
总结:ps命令,用于特定时间查看进程,比较常用的参数有-e、-f、-l、-H等,它的缺点是不能实时监控系统进程,所以,有了top的用武之地……
2.实时进程监控:top
选择top的原因,主要是更准确掌握在内存中换进换出的进程趋势,其中,输出的第一部分显示一些系统信息,如当前时间、进程信息、Cpu信息等等,如下图所示,
其中,黄色底纹标题的具体含义如下:
top的具体交互式命令,如下图:
可见,通过top命令,可是第一时间查到异常进程,接下来要做的,就是阻止异常进程,这要依靠以下停止进程的命令了……
二、停止进程:
在Linux中,各进程使用信号互相通信,进程信号时进程可识别的预定义信息,这些由开发人员规划。大多数精心编写的程序都能够接收标准Unix进程信号,
并对此作出响应,这些信号如下表所示:
Linux提供了以下两个命令用于发送进程信号给运行中的进程。详解如下:
1.kill命令
kill命令允许通过进程ID(PID)将信号发送给相关的进程。使用此命令时要注意用户权限,必须是该进程的所有者或者已作为跟用户登陆。
另外,如果某个进程失控,需要借助-s参数,来外加信号终止它,例如,可以使用KILL强制终止进程。
2.killall命令
killall命令非常强大,它可以根据进程的名称而不是难以记住的PID来停止进程。同时它还允许使用通配符,对于处理出错的系统极为有用。
但需要注意的是,作为根目录登陆是,killall命令要格外小心使用通配符,这样很容易意外停止重要的系统进程,导致文件系统受损!
linux下监控进程需掌握的四个命令的更多相关文章
- linux 下监控进程流量情况命令 NetHogs
摘自: http://www.cnblogs.com/kerrycode/p/4748970.html NetHogs介绍 NetHogs是一款开源.免费的,终端下的网络流量监控工具,它可监控Linu ...
- linux下查看进程id时用到的命令
一.查看端口占用的进程 . lsof -i:端口号, 查看某一端口的占用情况 [root@localhost bin]# lsof -i: COMMAND PID USER FD TYPE DEVIC ...
- linux 下的进程管理工具 supervisor
在linux下监控进程: 1)yum install python-setuptools linux下的python安装工具 2)easy_install supervisor 安装sup ...
- Linux 下监控用户最大进程数参数(nproc)是否到达上限
Linux 下监控用户最大进程数参数(nproc)是否到达上限的步骤: 1.查看各系统用户的进程(LWP)数: 注意:默认情况下采用 ps 命令并不能显示出所有的进程.因为 Linux 环境下执行多线 ...
- linux下监控jvm 使用的方法
之前一直用jconsole监控jvm,图形界面简单易用,最近因为需要在纯linux下进行操作,所以总结了一下 linux下监控jvm的例子,这次主要用到了jstat工具, 各个参数意义: jstat ...
- Linux下的进程与线程(二)—— 信号
Linux进程之间的通信: 本文主要讨论信号问题. 在Linux下的进程与线程(一)中提到,调度器可以用中断的方式调度进程. 然而,进程是怎么知道自己需要被调度了呢?是内核通过向进程发送信号,进程才得 ...
- Linux下php-fpm进程过多导致内存耗尽问题
这篇文章主要介绍了解决Linux下php-fpm进程过多导致内存耗尽问题,需要的朋友可以参考下 最近,发现个人博客的Linux服务器,数据库服务经常挂掉,导致需要重启,才能正常访问,极其恶心,于是 ...
- Linux下的进程控制块(PCB)
本文转载自Linux下的进程控制块(PCB) 导语 进程在操作系统中都有一个户口,用于表示这个进程.这个户口操作系统被称为PCB(进程控制块),在linux中具体实现是 task_struct数据结构 ...
- Linux下java进程CPU占用率高分析方法
Linux下java进程CPU占用率高分析方法 在工作当中,肯定会遇到由代码所导致的高CPU耗用以及内存溢出的情况.这种情况发生时,我们怎么去找出原因并解决. 一般解决方法是通过top命令找出消耗资源 ...
随机推荐
- 2机器学习实践笔记(k-最近邻)
1:算法是简单的叙述说明 由于训练数据样本和标签,为测试数据的示例,从最近的距离k训练样本,此k练样本中所属类别最多的类即为该測试样本的预測标签. 简称kNN.通常k是不大于20的整数,这里的距离通常 ...
- Tair LDB基于Prefixkey中期范围内查找性能优化项目总结
"Tair LDB基于Prefixkey该范围内查找性能优化"该项目是仅一个月.这个月主要是熟悉项目..以下从几个方面总结下个人在该项目上所做的工作及自己的个人所得所感. 项目工作 ...
- CSharp设计模式读书笔记(7):适配器模式(学习难度:★★☆☆☆,使用频率:★★★★☆)
适配器模式(Adapter Pattern):将一个接口转换成客户希望的另一个接口,使接口不兼容的那些类可以一起工作,其别名为包装器(Wrapper).适配器模式既可以作为类结构型模式,也可以作为对象 ...
- Java数据结构与算法(1) - ch02有序表(OrderedArray)
有序表需要掌握的插入方法,删除方法和二分法查找方法. 插入方法: 从前往后找到比要插入的值大的数组项,将该数组项及之后的项均后移一位(从最后一项起依次后移),最后将要插入的值插入当前数组项. 删除方法 ...
- signalR例子
不用找了,比较全的signalR例子已经为你准备好了. 这几天想着将一个winform的工具上线到web上,因为对时时性的要求比较高,找朋友咨询了一下推荐了SignlarR 框架,比较强大.昨天才 ...
- MSSQL Server 2008 数据库安装失败
1.Reporting Services目录临时数据库文件存在 出现这种问题的原因,是由于以前安装的SQL Server2008文件并没有卸载或删除干净造成 解决的办法如下: 找到 ...
- IOS程序启动的过程
IOS程序启动按照以下5个步骤执行 1.main函数 IOS程序启动首先执行main函数 2.UIApplicationMain 执行main函数中的UIApplicationMain函数,这个函数会 ...
- Excel 宏
实现1到40行的第一列 ,全部 累加一个字符串 A1 Sub Macro1() Dim i As IntegerFor i = 1 To 40Sheets(1).Cells(i, 1).Value = ...
- Google Maps API Web Services
原文:Google Maps API Web Services 摘自:https://developers.google.com/maps/documentation/webservices/ Goo ...
- 多个Storyboard切换
- (void)showStoryboard { // 实例化MainStoryboard UIStoryboard *storyboard = [UIStoryboard storyboardWit ...