概述

程序在运行后,我们需要了解进程的运行状态,这就是监控进程状态。
查看进程的状态分为: 静态和动态两种方式。

静态监控PS

ps命令用于报告当前系统的进程状态。可以搭配kill指令随时中断、删除不必要的程序。ps命令是最基本同时也是非常强大的进程查看命令,使用该命令可以确定有哪些进程正在运行和运行的状态、进程是否结束、进程有没有僵死、哪些进程占用了过多的资源等等,总之大部分信息都是可以通过执行该命令得到的。

ps -aux常用组合,查看进程 用户、PID、占用cpu百分比、占用内存百分比、状态、执行的命令等

linux监控java进程有没有执行 linux监控进程是否结束_top命令


一共分为了11列:

状态

描述

USER

启动进程的用户

PID

进程运行的ID号

%CPU

进程占用CPU百分比

%MEM

进程占用内存百分比

VSZ

进程占用虚拟内存大小 (单位KB)

RSS

进程占用物理内存实际大小 (单位KB)

TTY

进程是由哪个终端运行启动的tty1、pts/0等 ?表示内核程序与终端无关

STAT

进程运行过程中的状态 man ps (/STATE)

START

进程的启动时间

TIME

进程占用 CPU 的总时间(为0表示还没超过秒)

COMMAND

程序的运行指令,[ 方括号 ] 属于内核态的进程。 没有 [ ] 的是用户态进程。

STAT一列指的是进程运行过程的状态有很多种,比如上图所显示到的Ss、S<、R等:

STAT基本状态

描述

STAT状态+符号

描述

R

进程运行

s

进程是控制进程, Ss进程的领导者,父进程

S

可中断睡眠

<

进程运行在高优先级上,S<优先级较高的进程

T

进程被暂停

N

进程运行在低优先级上,SN优先级较低的进程

D

不可中断睡眠

+

当前进程运行在前台,R+该表示进程在前台运行

Z

僵尸进程

l

进程是多线程的,Sl表示进程是以线程方式运行

动态监控top

top命令可以实时动态地查看系统的整体运行情况,是一个综合了多方信息监测系统性能和运行信息的实用工具。通过top命令所提供的互动式界面,用热键可以管理。

linux监控java进程有没有执行 linux监控进程是否结束_linux监控java进程有没有执行_02

我们可以看到top命令头部会显示一些内容,比较重要需要理解的有:

任务

含义

Tasks: 129 total

当然进程的总数

1 running

正在运行的进程数

128 sleeping

睡眠的进程数

0 stopped

停止的进程数

0 zombie

僵尸进程数

%Cpu(s): 0.7 us

系统用户进程使用CPU百分比

0.7 sy

内核中的进程占用CPU百分比,通常内核是于硬件进行交互

98.7 id

空闲CPU的百分比

0.0 wa

CPU等待IO完成的时间

0.0 hi

硬中断,占的CPU百分比

0.0 si

软中断,占的CPU百分比

0.0 st

比如虚拟机占用物理CPU的时间

除去头部现实的内容,下面的内容可以分为12列,但是有些和ps命令的意思是一样的就不一一列举了:

状态

描述

PR

优先级

NI

nice值。负值表示高优先级,正值表示低优先级m

RES

进程使用的、未被换出的物理内存大小,单位kb

SHR

共享内存大小,单位kb

START

进程的启动时间

TIME+

进程使用的CPU时间总计,单位1/100秒/td>

COMMAND

执行的命令

在top命令执行过程中可以使用的一些交互命令。这些命令都是单字母的,如果在命令行中使用了-s选项, 其中一些命令可能会被屏蔽。

h:显示帮助画面,给出一些简短的命令总结说明;
k:终止一个进程;
i:忽略闲置和僵死进程,这是一个开关式命令;
q:退出程序;
r:重新安排一个进程的优先级别;
S:切换到累计模式;
s:改变两次刷新之间的延迟时间(单位为s),如果有小数,就换算成ms。输入0值则系统将不断刷新,默认值是5s;
f或者F:从当前显示中添加或者删除项目;
o或者O:改变显示项目的顺序;
l:切换显示平均负载和启动时间信息;
m:切换显示内存信息;
t:切换显示进程和CPU状态信息;
c:切换显示命令名称和完整命令行;
M:根据驻留内存大小进行排序;
P:根据CPU使用百分比大小进行排序;
T:根据时间/累计时间进行排序;
w:将当前设置写入~/.toprc文件中。