原文:linux系统进程的查看与控制

一、什么是进程?

进程就是系统未完成并且正在进行的工作。

二、查看系统进程

1、图形方式查看

gnome-system-monitor



2、进程查看命令

ps -A ##所有进程

-a ##在当前环境中运行的进程,不包含环境信息

-u ##显示进程用户信息

a ##在当前环境中运行的进程

x ##列出系统中所有运行包含tty输出设备

f ##显示进程的父子关系

e ##显示进程的详细信息(系统资源的调用)



ps常用组合:

ps aux ##显示系统中所有进程并显示进程用户

ps ef ##显示进程详细信息并显示进程父子关系

ps ax ##显示当前系统中的所有进程

pstree ##显示当前系统的进程树



如何根据自己的需要让每个进程显示指定的信息

ps -o xxx ##显示进程的指定信息

comm ##进程名称

user ##进程所有人

group ##进程所有组

%cpu ##进程cpu使用率

%mem ##进程内存使用率

pid ##进程id

nice ##进程优先级

示例:

ps -o comm,user,pid,%cpu

3、进程排序

ps ax --sort=

+%cpu|-%cpu ##按cpu占用率从小到大|从大到小排序



+%mem|-%mem ##按内存使用率 从小到大排序|从大到小排序



4、在stat进程状态中显示的信息

S ##进程状态

l ##内存中有锁定空间

N ##优先级低

< ##优先级高

  • ##前台运行

    s ##顶级进程

有锁定空间的进程可以理解为该进程进入后台后,其他进程不能占用该进程使用的内存。

5、进程优先级

优先级概念:

CPU资源分配的先后顺序,就是进程的优先权

优先权高的进程有优先执行的权利。配置进程优先权对多任务环境的Linux很有用,可以改善系统性能。

还可以把进程运行到指定的CPU上,这样一来,把不重要的进程安排到某个CPU,可以大大改善系统的整体性能。

(1)进程的优先级范围

-20~19

数字越小,进程优先级越高。

(2)优先级的查看

ps ax -o pid,nice,comm

(3)指定某个优先级开启进程

nice -n 优先级数字 进程名称

**注意:**nice指定优先级只对设定后新开启的进程有效,对设定前开启的进程无效。

(4)改变进程优先级

renice -n 优先级数字 进程pid

注意:nice与renice不同在于前者只对新产生的进程有效,而后者也可以改变已存在进程的优先级。

(6)环境中进程的前后台调用

jobs ##查看被打入环境后台的进程

ctrl+z ##把占用终端的进程打入暂停打入后台

fg jobsnum ##把后台进程调回前台

bg jobsnum ##把后台暂停的进程运行

comm & ##让命令直接在后台运行

(7)进程信号

1、常用的信号等级

1 ##进程重新加载配置

进程重新加载配置,指的是在进程不停止的情况下重新加载进程的配置文件信息,类似于游戏里面的“不停服更新“

2 ##删除进程在内存中的数据

3 ##删除鼠标在内存中的数据

解释:

对于删除进程在内存中的数据,如果该进程有锁定空间,那么删除进程在内存中的数据,相当于关掉这个进程。如果进程没有锁定空间,那么只是释放了该进程原占有的内存。

9 ##强行结束单个进程(不能被阻塞)

15 ##正常关闭进程 (可能会被阻塞)

分析:kill -9 为强行结束单个进程,不管该进程的优先级高不高。而kill -15 是正常关闭进程,一般对第三方软件可以正常关闭,但是对于优先级较高的进程,则可能被阻塞,不能关闭。



18 ##运行暂停的进程

19 ##暂停某个进程 (不能被阻塞)

20 ##把进程打入后台 (打入后台同时会暂停) (可以被阻塞)

更多的进程信号等级可以查看:

man 7 signal ##查看信号详细信息

killall -信号 进程名字



pkill -u student -信号



(8)进程的动态监控

top

1 ##显示cpu每个核的负载

s ##调整刷新频率

c ##cpu负载排序

m ##内存使用量排序

h ##查看帮助

u ##查看指定用户进程

k ##对指定进程发起信号

q ##退出

最新文章

  1. DIV+CSS布局网站基本框架
  2. Java虚拟机8:虚拟机性能监控与故障处理工具
  3. struts深入原理之RequestProcessor与xml
  4. POJ 3449 Geometric Shapes --计算几何,线段相交
  5. Apache Tomcat相应插件版本
  6. IM即时通讯实现原理
  7. c++ 观察者模式
  8. 【转】谁说Vim不是IDE?(二)
  9. js取一维数组最大值,最小值
  10. Listview和checkbox多选
  11. bzoj 1426:收集邮票 求平方的期望
  12. ●BZOJ 4710 [Jsoi2011]分特产
  13. XGBoost原理和公式推导
  14. centos7配置iscsi
  15. 用Python手把手教你搭一个Transformer!
  16. 在myeclipse中使用log4j记录日志
  17. EF 利用PagedList进行分页并结合查询 方法2
  18. Bluetooth协议栈学习之SDP
  19. 自定义控件之万能Repeater源码
  20. Netty源码分析第4章(pipeline)----&gt;第4节: 传播inbound事件

热门文章

  1. Kinect 开发 &mdash;&mdash; Kinect studio
  2. Spark RPC
  3. windows安装memcached
  4. GetInvocationList 委托链表
  5. FragMent-通过Arguments方法 跟activity通信
  6. 《三》Java IO 字节输入输出流
  7. django 简单会议室预约(6)
  8. 阅读笔记——Servlet
  9. NuGet 使用及dll管理
  10. 如何在同一台机器上安装多个MySQL的实例(转)