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命令找出消耗资源 ...
随机推荐
- 波折yosemite下载过程
已经知道Yosemite正式宣布了这一消息,为了尽快有效地使用该系统尽可能.上学前把一个新的硬盘驱动器准备就绪-但不幸的是,我不知道是谁动手当天学校欠网关停电,我没有强迫受害者上课听老师讲废话(这是什 ...
- asp.net学习之SqlDataSource
原文:asp.net学习之SqlDataSource 通过 SqlDataSource 控件,可以使用 Web 服务器控件访问位于关系数据库中的数据.其中可以包括 Microsoft SQL Serv ...
- 第8章 装饰模式(Decorator Pattern)
原文 第8章 装饰模式(Decorator Pattern) 概述: 装饰模式是在不必改变原类文件和使用继承的情况下,动态地扩展一个对象的功能.它是通过创建一个包装对象,也就是装饰来包裹真实的对象. ...
- Unity3D环境GLSL shaders书面 — 固体参数
我猜你一定能写一个转型不只是随机颜色显示红色shader.你需要从Unity编辑器shader传递参数. 本文中,我们将使用shader的Properties和GLSL特殊的变量类型uniforms. ...
- 关于Promise的一个案例
题目:红灯三秒亮一次,绿灯一秒亮一次,黄灯2秒亮一次:如何让三个灯不断交替重复亮灯?(用Promise实现) 解答思路一: function red(){ console.log('red'); } ...
- Android Volley彻底解决(三),定制自己Request
转载请注明出处:http://blog.csdn.net/guolin_blog/article/details/17612763 经过前面两篇文章的学习,我们已经掌握了Volley各种Request ...
- iOS开发- "duplicate symbol for architecture i386" 解决的方法
今天整合项目的时候, 遇到了这样一个问题. duplicate symbol _flag in: /Users/apple/Library/Developer/Xcode/DerivedData/bl ...
- Java初始阶段
初时接触感觉Java与C语言有很多异曲同工之处. Java起源: Java之父:James Gosling 正式发布时间:1995年5月23日 其特点为:简单.面向对象.可移植.多线程.动态 其编译后 ...
- NPOI 的使用心得
Excel 数据 通过 c# 代码逻辑 导入 到数据库 . 其中各种坑爹.原因是 单元格 数据 与 数据库 字段的数据类型 会有出入.因为 Excel 是人工输入. 比如 一个单元格 本来 只能 ...
- Theano学习笔记(一)——代数
标量相加 import theano.tensor as T from theano import function x = T.dscalar('x') y = T.dscalar('y') z = ...