linux 进程性能

Posted 是的哟

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了linux 进程性能相关的知识,希望对你有一定的参考价值。

ps    查看进程    ps x  查看所有进程      ps  aux显示更多信息     --forest 显示层级信息

状态

意义

R

运行。这意味着,进程正在运行或准备运行。

S

正在睡眠。 进程没有运行,而是,正在等待一个事件, 比如说,一个按键或者网络数据包。

D

不可中断睡眠。进程正在等待 I/O,比方说,一个磁盘驱动器的 I/O

T

已停止. 已经指示进程停止运行。稍后介绍更多。

Z

一个死进程或僵尸进程。这是一个已经终止的子进程,但是它的父进程还没有清空它。 (父进程没有把子进程从进程表中删除)

<

一个高优先级进程。这可能会授予一个进程更多重要的资源,给它更多的 CPU 时间。 进程的这种属性叫做 niceness。具有高优先级的进程据说是不好的(less nice), 因为它占用了比较多的 CPU 时间,这样就给其它进程留下很少时间。

N

低优先级进程。 一个低优先级进程(一个进程)只有当其它高优先级进程执行之后,才会得到处理器时间。

 

标题

意思

USER

用户 ID. 进程的所有者。

%CPU

以百分比表示的 CPU 使用率

%MEM

以百分比表示的内存使用率

VSZ

虚拟内存大小

RSS

进程占用的物理内存的大小,以千字节为单位。

START

进程运行的起始时间。若超过24小时,则用天表示。

 

 

top  动态查看进程

行号

字段

意义

1

top

程序名。

 

14:59:20

当前时间。

 

up 6:30

这是正常运行时间。它是计算机从上次启动到现在所运行的时间。 在这个例子里,系统已经运行了六个半小时。

 

2 users

有两个用户登录系统。

 

load average:

加载平均值是指,等待运行的进程数目,也就是说,处于运行状态的进程个数, 这些进程共享 CPU。展示了三个数值,每个数值对应不同的时间周期。第一个是最后60秒的平均值, 下一个是前5分钟的平均值,最后一个是前15分钟的平均值。若平均值低于1.0,则指示计算机 工作不忙碌。

2

Tasks:

总结了进程数目和各种进程状态。

3

Cpu(s):

这一行描述了 CPU 正在执行的进程的特性。

 

0.7%us

0.7% of the CPU is being used for user processes. 这意味着进程在内核之外。

 

1.0%sy

1.0%CPU 时间被用于系统(内核)进程。

 

0.0%ni

0.0%CPU 时间被用于"nice"(低优先级)进程。

 

98.3%id

98.3%CPU 时间是空闲的。

 

0.0%wa

0.0%CPU 时间来等待 I/O

4

Mem:

展示物理内存的使用情况。

5

Swap:

展示交换分区(虚拟内存)的使用情况。

 

 

C-c   终止进程

abc   &     在后台执行abc程序   输出工作号和进程号

jobs    显示任务  以及启动任务的命令     -l 显示pid

fg  %1    将工作号为1的任务   弄到前台

bg %1   弄到后台

C-z    暂停

 

kill   12345  或者  kill  %1     杀死进程  根据进程号或者工作号

kill 命令不是确切地杀死程序,而是给程序 发送信号。信号是操作系统与程序之间进行通信,所采用的几种方式中的一种。我们已经看到 信号,在使用 Ctrl-c Ctrl-z 的过程中。当终端接受了其中一个按键组合后,它会给在前端运行 的程序发送一个信号。在使用 Ctrl-c 的情况下,会发送一个叫做 INT(中断)的信号;当使用 Ctrl-z 时,则发送一个叫做 TSTP(终端停止)的信号。程序,反过来,倾听信号的到来,当程序 接到信号之后,则做出响应。一个程序能够倾听和响应信号,这个事实允许一个程序做些事情, 比如,当程序接到一个终止信号时,它可以保存所做的工作。

kill [-signal] PID...    发送信号   如果没指定信号   默认发送TERM终止信号

常用信号:

编号

名字

含义

1

HUP

挂起。这是美好往昔的痕迹,那时候终端机通过电话线和调制解调器连接到 远端的计算机。这个信号被用来告诉程序,控制的终端机已经挂起。 通过关闭一个终端会话,可以说明这个信号的作用。发送这个信号到终端机上的前台程序,程序会终止。许多守护进程也使用这个信号,来重新初始化。这意味着,当发送这个信号到一个守护进程后, 这个进程会重新启动,并且重新读取它的配置文件。Apache 网络服务器守护进程就是一个例子。

2

INT

中断。实现和 Ctrl-c 一样的功能,由终端发送。通常,它会终止一个程序。

9

KILL

杀死。这个信号很特别。鉴于进程可能会选择不同的方式,来处理发送给它的 信号,其中也包含忽略信号,这样呢,从不发送 Kill 信号到目标进程。而是内核立即终止 这个进程。当一个进程以这种方式终止的时候,它没有机会去做些清理工作,或者是保存劳动成果。 因为这个原因,把 KILL 信号看作杀手锏,当其它终止信号失败后,再使用它。

15

TERM

终止。这是 kill 命令发送的默认信号。如果程序仍然活着,可以接受信号,那么 这个信号终止。

18

CONT

继续。在停止一段时间后,进程恢复运行。

19

STOP

停止。这个信号导致进程停止运行,而没有终止。像 KILL 信号,它不被 发送到目标进程,因此它不能被忽略。

其他常用信号:

编号

名字

含义

3

QUIT

退出

11

SEGV

段错误。如果一个程序非法使用内存,就会发送这个信号。也就是说, 程序试图写入内存,而这个内存空间是不允许此程序写入的。

20

TSTP

终端停止。当按下 Ctrl-z 组合键后,终端发送这个信号。不像 STOP 信号, TSTP 信号由目标进程接收,且可能被忽略。

28

WINCH

改变窗口大小。当改变窗口大小时,系统会发送这个信号。 一些程序,像 top less 程序会响应这个信号,按照新窗口的尺寸,刷新显示的内容。

 

kill -1 13546    既可以用号码,也可以用名字,不过要在名字前面 加上字母“SIG”

kill -l    列出所有信号

 

killall [-u user] [-signal] name...   给匹配特定程序或用户名的多个进程发送信号

 

 

其他和进程相关的命令

命令名

命令描述

pstree

输出一个树型结构的进程列表,这个列表展示了进程间父/子关系。

vmstat

输出一个系统资源使用快照,包括内存,交换分区和磁盘 I/O。 为了看到连续的显示结果,则在命令名后加上延时的时间(以秒为单位)。例如,“vmstat 5”。 终止输出,按下 Ctrl-c 组合键。

xload

一个图形界面程序,可以画出系统负载的图形。

tload

xload 程序相似,但是在终端中画出图形。使用 Ctrl-c,来终止输出。

uptime   系统运行了多长时间。

free       显示系统中可用和使用的内存量。

以上是关于linux 进程性能的主要内容,如果未能解决你的问题,请参考以下文章

Linux性能优化 第二章 性能工具:系统CPU

linux 性能自我学习 ———— cpu 切换带来的性能损耗 [二]

linux 进程性能

linux 进程性能

Linux性能优化 第五章 性能工具:特定进程内存

Linux性能监控-pstree