首页 >> 大全

Linux进程管理工具ps/pgrep/pkill/kill/uptime/to

2023-09-19 大全 29 作者:考证青年

4.

在Linux 下,我们可以使用 命令,而且此命令不必使用root 权限。 命令在系统中已经默认安装了。

会在一行中显示下列信息:当前时间、系统运行了多久时间、当前登录的用户有多少,以及前 1、5 和 15 分钟系统的平均负载

[]

-p系统运行了多长时间

-s 显示系统开始运行的时间和日期

-V -获取版本信息

(1)系统时间

在图1中,左起第一条信息是20:24:01,这就是当前系统时间,以24小时格式输出

第二条信息Up 7 days, 22:33,这是显示你的系统运行时间。图1 显示你的系统已经运行了7天22小时33分钟,如果你的系统没有运行超过24小时,这里将只会显示小时分钟或者只显示分钟。当系统重启后将会清零。

第三部分的信息是显示已登陆用户的数量。下图显示的是1 user ,即当前登录用户数量。当多个用户在同时登陆系统时, 命令将告诉你用户的数量

最后一个信息是系统的平均负载量。你看到下图这样带两位小数的数字0.06, 0.06, 0.06可以换算成百分比,即0.25和0.19分别代表着25%和19%。0.06, 0.25, 0.19分别代表着过去1分钟、5分钟、15分钟系统的平均负载量。负载量越低意味着你的系统性能越好。

注:有三个时间间隔的平均值。负载均值的意义根据系统中 CPU 的数量不同而不同,负载为 1 对于一个只有单 CPU 的系统来说意味着负载满了,而对于一个拥有 4 CPU 的系统来说则意味着 75% 的时间里都是空闲的。

5. top

相对于ps是选取一个时间点的进程状态,top则可以持续监测进程运行的状态。使用方式如下:

第一行:与类似。

 当前时间

 系统已运行的时间

 当前登录用户的数量

 相应最近5、10和15分钟内的平均负载。

可以使用’l’命令切换的显示。

第二行:任务数(进程数)

Tasks — 任务(进程),系统现在共有152个进程,其中处于运行中的有1个,151个在休眠(sleep),状态的有0个,状态(僵尸)的有0个。

可以用’t’切换显示

第三行:CPU状态

这里显示不同模式下所占cpu时间百分比,这些不同的cpu时间表示:

us, user: 运行(未调整优先级的) 用户进程的CPU时间

sy,: 运行内核进程的CPU时间

ni,niced:运行已调整优先级的用户进程的CPU时间

wa,IO wait: 用于等待IO完成的CPU时间

hi:处理硬件中断的CPU时间

si: 处理软件中断的CPU时间

st:这个虚拟机被偷去的CPU时间(译注:如果当前处于一个下的vm,实际上也是要消耗一部分CPU处理时间的)。

可以使用’t’命令切换显示。

第四行:内存使用

接下来两行显示内存使用率,有点像’free’命令。第一行是物理内存使用,第二行是虚拟内存使用(交换空间)。

物理内存显示如下:全部可用内存、已使用内存、空闲内存、缓冲内存。相似地:交换部分显示的是:全部、已使用、空闲和缓冲交换空间。

可用内存=free++(近似值)

第五部分:各个进程之间的状态监控

PID:进程ID,进程的唯一标识符

USER:进程所有者的实际用户名。

PR:进程的调度优先级。这个字段的一些值是’rt’。这意味这这些进程运行在实时态。

NI:进程的nice值(优先级)。越小的值意味着越高的优先级。负值表示高优先级,正值表示低优先级

VIRT:进程使用的虚拟内存。进程使用的虚拟内存总量,单位kb。VIRT=SWAP+RES

RES:驻留内存大小。驻留内存是任务使用的非交换物理内存大小。进程使用的、未被换出的物理内存大小,单位kb。RES=CODE+DATA

SHR:SHR是进程使用的共享内存。共享内存大小,单位kb

S:这个是进程的状态。它有以下不同的值:

D - 不可中断的睡眠态。

R – 运行态

S – 睡眠态

T – 被跟踪或已停止

Z – 僵尸态

%CPU:自从上一次更新时到现在任务所使用的CPU时间百分比。

%MEM:进程使用的可用物理内存百分比。

TIME+:任务启动后到现在所使用的全部CPU时间,精确到百分之一秒。

:运行进程所使用的命令。进程名称(命令名/命令行)

还有许多在默认情况下不会显示的输出,它们可以显示进程的页错误、有效组和组ID和其他更多的信息。

在top命令运行过程中可以采用按如下键,来更好的显示进程的状态。

K:终止一个进程。系统将提示用户输入需要终止的进程PID,以及需要发送给该进程什么样的信号。一般的终止进程可以使用15信号;如果不能正常结束那就使用信号9强制结束该进程。默认值是信号15。在安全模式中此命令被屏蔽。

i:忽略闲置和僵死进程。这是一个开关式命令。

q:退出程序

r:重新安排一个进程的优先级别。系统提示用户输入需要改变的进程PID以及需要设置的进程优先级值。输入一个正值将使优先级降低,反之则可以使该进程拥有更高的优先权。默认值是10。

S:切换到累计模式。

s:改变两次刷新之间的延迟时间。系统将提示用户输入新的时间,单位为s。如果有小数,就换算成m s。输入0值则系统将不断刷新,默认值是5 s。需要注意的是如果设置太小的时间,很可能会引起不断刷新,从而根本来不及看清显示的情况,而且系统负载也会大大增加。

f或者F:从当前显示中添加或者删除项目。

o或者O:改变显示项目的顺序

l:切换显示平均负载和启动时间信息。

**m:**切换显示内存信息。

**t:**切换显示进程和CPU状态信息。

c:切换显示命令名称和完整命令行。

**M:**根据驻留内存大小进行排序。

P:根据CPU使用百分比大小进行排序。

T:根据时间/累计时间进行排序。

W:将当前设置写入~/.toprc文件中。

6.

( 虚拟内存统计) 命令用来显示Linux系统虚拟内存状态,也可以报告关于进程、内存、I/O等系统整体运行状态。它是对系统的整体情况进行统计,不足之处是无法对某个进程进行深入分析。

[-a] [-n] [-t] [-S unit] [delay [ count]]

[-s] [-n] [-S unit]

[-m] [-n] [delay [ count]]

[-d] [-n] [delay [ count]]

[-p disk ] [-n] [delay [ count]]

[-f]

[-V]

选项:

-a显示活跃和非活跃内存

-f:显示从系统启动至今的fork数量 。

-m:显示

-n:只在开始时显示一次各字段名称。

-s显示内存相关统计信息及多种系统活动数量。

delay:刷新时间间隔。如果不指定,只显示一条结果。

count:刷新次数。如果不指定刷新次数,但指定了刷新时间间隔,这时刷新次数为无穷。

-d:显示磁盘相关统计信息。

-p:显示指定磁盘分区统计信息

-S:使用指定单位显示。参数有 k 、K 、m 、M ,分别代表1000、1024、、字节(byte)。默认单位为K(1024 bytes)

-V:显示版本信息。

(1)进程信息

r: 运行队列中进程数量,这个值也可以判断是否需要增加CPU。(长期大于1)

b: 等待IO的进程数量。

(2)内存信息

swpd 使用虚拟内存大小,如果swpd的值不为0,但是SI,SO的值长期为0,这种情况不会影响系统性能。

free 空闲物理内存大小。

buff 用作缓冲的内存大小。

cache 用作缓存的内存大小,如果cache的值大的时候,说明cache处的文件数多,如果频繁访问到的文件都能被cache处,那么磁盘的读IO bi会非常小。

(3)交换分区信息

si 每秒从交换区写到内存的大小,由磁盘调入内存。

so 每秒写入交换区的内存大小,由内存调入磁盘。

注意:内存够用的时候,这2个值都是0,如果这2个值长期大于0时,系统性能会受到影响,磁盘IO和CPU资源都会被消耗。有些朋友看到空闲内存(free)很少的或接近于0时,就认为内存不够用了,不能光看这一点,还要结合si和so,如果free很少,但是si和so也很少(大多时候是0),那么不用担心,系统性能这时不会受到影响的。因为linux总是先把内存用光。(不能光看free信息)

(4)I/O信息

bi 每秒读取的块数

bo 每秒写入的块数

注意:随机磁盘读写的时候,这2个值越大(如超出1024k),能看到CPU在IO等待的值也会越大。

(5)系统信息

in 每秒中断数,包括时钟中断。

cs 每秒上下文切换数。

注意:上面2个值越大,会看到由内核消耗的CPU时间会越大

(6)CPU信息

us: 用户进程执行时间百分比(user time) us的值比较高时,说明用户进程消耗的CPU时间多,但是如果长期超50%的使用,那么我们就该考虑优化程序算法或者进行加速。

sy: 内核系统进程执行时间百分比( time) sy的值高时,说明系统内核消耗的CPU资源多,这并不是良性表现,我们应该检查原因。

wa IO等待时间百分比 wa的值高时,说明IO等待比较严重,这可能由于磁盘大量作随机访问造成,也有可能磁盘出现瓶颈(块操作)。

id 空闲时间百分比

常用命令:

–a (查看内存使用的详细信息)

–d (查看磁盘的读和写)

7. iftop

iftop可以用来监控网卡的实时流量(可以指定网段)、反向解析IP、显示端口信息等。界面上面显示的是类似刻度尺的刻度范围,为显示流量图形的长条作标尺用的。

中间的这两个左右箭头,表示的是流量的方向。

TX:发送流量

RX:接收流量

TOTAL:总流量

Cumm:运行iftop到目前时间的总流量

peak:流量峰值

rates:分别表示过去 2s 10s 40s 的平均流量

选项:

-i设定监测的网卡,如:# iftop -i eth1

-B 以bytes为单位显示流量(默认是bits),如:# iftop -B

-n使host信息默认直接都显示IP,如:# iftop -n

-N使端口信息默认直接都显示端口号,如: # iftop -N

-F显示特定网段的进出流量,如# iftop -F 10.10.1.0/24或# iftop -F 10.10.1.0/255.255.255.0

-h( this ),帮助,显示参数信息

-p使用这个参数后,中间的列表显示的本地主机信息,出现了本机以外的IP信息;

-b使流量图形条默认就显示;

-f这个暂时还不太会用,过滤计算包用的;

-P使host信息及端口信息默认就都显示;

-m设置界面最上边的刻度的最大值,刻度分五个大段显示,例:# iftop -m 100M

进入iftop画面后,注意一些按键。

按h切换是否显示帮助;

按n切换显示本机的IP或主机名;

按s切换是否显示本机的host信息;

按d切换是否显示远端目标主机的host信息;

按t切换显示格式为2行/1行/只显示发送流量/只显示接收流量;

按N切换显示端口号或端口服务名称;

按S切换是否显示本机的端口信息;

按D切换是否显示远端目标主机的端口信息;

按p切换是否显示端口信息;

按P切换暂停/继续显示;

按b切换是否显示平均流量图形条;

按B切换计算2秒或10秒或40秒内的平均流量;

按T切换是否显示每个连接的总流量;

按l打开屏幕过滤功能,输入要过滤的字符,比如ip,按回车后,屏幕就只显示这个IP相关的流量信息;

按L切换显示画面上边的刻度;刻度不同,流量图形条会有变化;

按j或按k可以向上或向下滚动屏幕显示的连接记录;

按1或2或3可以根据右侧显示的三列流量数据进行排序;

按根据远端目标主机的主机名或IP排序;

按o切换是否固定只显示当前的连接;

按f可以编辑过滤代码,这是翻译过来的说法,我还没用过这个!

按!可以使用shell命令,这个没用过!没搞明白啥命令在这好用呢!

按q退出监控。

8.lsof

lsof(list open files)是一个列出当前系统打开文件的工具。在linux环境下,任何事物都以文件的形式存在,通过文件不仅仅可以访问常规数据,还可以访问网络连接和硬件。

默认 : 没有选项,lsof列出活跃进程的所有打开文件

组合 : 可以将选项组合到一起,如-abc,但要当心哪些选项需要参数

-a : 结果进行“与”运算(而不是“或”)

-l : 在输出显示用户ID而不是用户名

-h : 获得帮助

-t : 仅获取进程ID

-U : 获取UNIX套接口地址

-F : 格式化输出结果,用于其它命令。可以通过多种方式格式化,如-F pcfn(用于进程id、命令名、文件描述符、文件名,并以空终止)

常用命令:语法: lsof -i[46] [][@|][:|port]

(1)ls –i 4表示获取IPv4流量

(2)ls –i 6 表示获取IPv6流量

(3)lsof –iTCP 使用端口查看应用服务

(3)lsof -i -sTCP: 找出监听端口

或者采用lsof -i | grep -i 同理可以找出“”即已连接的

(4)kill -9 lsof –t –u gzr 杀死用户运行的所有东西(慎用)

(5)使用-c查看指定的命令正在使用的文件和网络连接

关于我们

最火推荐

小编推荐

联系我们


版权声明:本站内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 88@qq.com 举报,一经查实,本站将立刻删除。备案号:桂ICP备2021009421号
Powered By Z-BlogPHP.
复制成功
微信号:
我知道了