linux 进程线程(ps、kill、pstree、netstat查看进程线程信息,top、free查看内存信息,buff/cache内存定时释放)

文章目录

    • 1. ps 查看当前系统进程状态
      • (1)ps -aux(查进程使用内存和cpu时使用)
      • (2)ps -ef(查进程对应的PID时使用)
    • 2. kill 终止进程
    • 3. pstree 查看进程树
    • 4. top 查看系统健康状态
    • 5. netstat 显示网络统计信息和端口占用情况
    • 6. free用于显示内存状态
        • 定时释放buff/cache内存


1. ps 查看当前系统进程状态

ps -aux | grep xxx		(功能描述:查看系统中所有进程)
ps -ef | grep xxx		(功能描述:可以查看子父进程之间的关系)

功能说明

(1)ps -aux(查进程使用内存和cpu时使用)

在这里插入图片描述

USER:该进程是由哪个用户产生的
PID:进程的ID号
%CPU:该进程占用CPU资源的百分比,占用越高,进程越耗费资源
%MEM:该进程占用物理内存的百分比,占用越高,进程越耗费资源
VSZ:该进程占用虚拟内存的大小,单位KB
RSS:该进程占用实际物理内存的大小,单位KB
TTY:该进程是在哪个终端中运行的。其中tty1-tty7代表本地控制台终端,tty1-tty6是本地的字符界面终端,tty7是图形终端。pts/0-255代表虚拟终端。
STAT:进程状态。常见的状态有:R:运行、S:睡眠、T:停止状态、s:包含子进程、+:位于后台
START:该进程的启动时间
TIME:该进程占用CPU的运算时间,注意不是系统时间
COMMAND:产生此进程的命令名

(2)ps -ef(查进程对应的PID时使用)

在这里插入图片描述

UID:用户ID 
PID:进程ID 
PPID:父进程ID 
C:CPU用于计算执行优先级的因子。数值越大,表明进程是CPU密集型运算,执行优先级会降低;数值越小,表明进程是I/O密集型运算,执行优先级会提高 
STIME:进程启动的时间 
TTY:完整的终端名称 
TIME:CPU时间 
CMD:启动进程所用的命令和参数

2. kill 终止进程

kill  [选项] 进程号 (功能描述:通过进程号杀死进程)
killall 进程名称	  (功能描述:通过进程名称杀死进程,也支持通配符,在系统因负载过大而变得很慢时有用)	
选项 功能
-9 表示强迫进程立即停止

3. pstree 查看进程树

pstree [选项]
选项 功能
-p 显示进程的PID
-u 显示进程的所属用户

linux 进程线程(ps、kill、pstree、netstat查看进程线程信息,top、free查看内存信息,buff/cache内存定时释放)_第1张图片


4. top 查看系统健康状态

top [选项]	
选项 功能
-d 秒数 指定top命令每隔几秒更新。默认是3秒在top命令的交互模式当中可以执行的命令
-i 使top不显示任何闲置或者僵死进程
-p 通过指定监控进程ID来仅仅监控某个进程的状态

执行top命令后的操作:

操作 功能
P 以CPU使用率排序,默认就是此项
M 以内存的使用率排序
N 以PID排序
q 退出top

linux 进程线程(ps、kill、pstree、netstat查看进程线程信息,top、free查看内存信息,buff/cache内存定时释放)_第2张图片

5. netstat 显示网络统计信息和端口占用情况

netstat -anp | grep 进程号	(功能描述:查看该进程网络信息)
netstat –nlp | grep 端口号	(功能描述:查看网络端口号占用情况)
选项 功能
-n 拒绝显示别名,能显示数字的全部转化成数字
-l 仅列出有在listen(监听)的服务状态
-p 表示显示哪个进程在调用

如:
查看某端口号是否被占用

netstat -nlp |grep 6379

在这里插入图片描述


6. free用于显示内存状态

free [-bkmotV][-s <间隔秒数>]
-b  以Byte为单位显示内存使用情况
-k  以KB为单位显示内存使用情况
-m  以MB为单位显示内存使用情况
-h  以合适的单位显示内存使用情况,最大为三位数,自动计算对应的单位值
-o  不显示缓冲区调节列
-s <间隔秒数>  持续观察内存使用状况
-t  显示内存总和列
-V  显示版本信息

如:

free -s 10 -h

linux 进程线程(ps、kill、pstree、netstat查看进程线程信息,top、free查看内存信息,buff/cache内存定时释放)_第3张图片

注:

定时释放buff/cache内存

  linux系统中,写入磁盘时,先保存到磁盘缓冲区(buffer),然后再写入到磁盘;读磁盘时,数据从磁盘读出后,暂留在缓冲区(cache)。当应用程序需要内存时,如果没有足够的 free 内存可以用,内核就会从 buffer 和 cache 中回收内存来满足应用程序的请求。

(1)若buff/cache过大导致内存不足,可手动释放

echo 3 > /proc/sys/vm/drop_caches
0:是系统默认值,默认情况下表示不释放内存,由操作系统自动管理
1:释放页缓存
2:释放dentries和inodes
3:释放所有缓存

不能执行echo 0 > /proc/sys/vm/drop_caches ,否则报错echo: 写错误: 无效的参数
在这里插入图片描述

(2)对于需要定时释放buff/cache可通过crontab执行脚本

linux 进程线程(ps、kill、pstree、netstat查看进程线程信息,top、free查看内存信息,buff/cache内存定时释放)_第4张图片

你可能感兴趣的:(linux,命令,linux)