相关定义
程序
二进制文件,静态 /usr/sbin/httpd,/usr/sbin/sshd,程序占用磁盘空间
程序的两种状态:running和dead
进程
是程序运行的过程, 动态,有生命周期的,可以产生和消亡的(进程是已启动的可执行程序的运行实例,实例即运行可执行程序),进程占用CPU和内存mem。
父进程
程序运行时产生的第一个进程,任何进程都可以作为父进程创建子进程。
子进程
由父进程使用fork()函数完全复制自己的地址空间创建出来的新的进程就是子进程,子进程继承父进程的安全性身份、过去和当前的文件描述符、端口和资源特权、环境变量,以及程序代码.
线程
线程是进程之内独立执行的一个单元。对于操作系统而言,其调度单元是线程;一个进程至少包括一个线程,通常将该线程称为主线程;一个进程从主线程的执行开始,进而创建一个或多个附加线程,就是所谓基于多线程的多任务。
程序产生进程,进程包括多个线程
查看进程
静态查看进程
ps [参数]
a 只能查看所有终端进程
u 显示进程拥有者
x 显示系统内所有进程
f 用ASCII字符显示树状结构,表达程序间的相互关系(父子进程之间的关系)
o 自定义字段显示
USER:进程的拥有者
PID:进程的ID 标识唯一一个进程 ppid:父进程ID
%CPU:CPU使用的百分比
%MEM:内存MEM使用百分比
VSZ:占用虚拟内存
RSS:占用实际内存 驻留内存
TTY:进程运行的终端
STAT:进程状态
进程的状态:
R Running,运行,正在被cpu处理的进程
S Sleeping,暂停状态
T Stopped,停止运行
Z Zombie,僵尸进程,子进程结束后没有被父进程回收
X 死掉的进程
Ss s父进程,进程的领导者
S< <优先级较高的进程
SN N优先级较低的进程
R+ +表示是前台的进程组
Sl 以线程的方式运行
START: 进程的启动时间
TIME: 进程占用CPU的总时间
COMMAND: 进程名,进程文件
按照CPU使用率从小到大排序:ps aux --sort %cpu
按照CPU使用率从大到小排序:ps aux --sort -%cpu
按照内存使用率从小到大排序:ps aux --sort %mem
按照内存使用率从大到小排序:ps aux --sort -%mem
自定义字段显示进程:ps axo 字段名称
后面接 | less 分页查看
后面接 | head/tail -n 查看前/后n行
后面接 | grep 服务名 过滤查看服务
获取进程PID的方法
法①:ps aux | grep 服务名
法②:ps axo command,pid | grep 服务名
法③:cat /run/服务名.pid
这个pid文件不一定在run目录下,也有可能会出现在run目录下的二级目录下
法④:pidof 服务名
法⑤:pgrep 服务名
lsof命令
查看正在占用该端口号的进程:lsof -i:端口号
前四列依次是:进程名,进程PID,进程拥有者,文件描述符
w命令
查看当前服务器的运行时间,在线用户数量,负载均衡和连接中的用户信息(用户名,终端编号,用户IP地址,登录时间等)
当前服务器已运行1天,有3个用户终端在线,负载均衡为:0.00,0.07,0.13(越小越好)
三个用户都是root,分别登录终端:pts/0,pts/1,pts/2,IP地址为123.127.39.50,
三个root登录时间分别为:19:12,21:31,21:00
who命令
查看当前服务器连接中的用户信息(用户名,终端编号,登录日期和时间,用户IP地址)及其数量
动态查看进程
top
第一行:当前服务器时间,服务器运行时间,当前在线用户数量,负载均衡
第二行:进程总量,运行进程数量,暂停进程数量,停止进程数量,僵尸进程数量
第三行:us 用户空间占用CPU百分比,sy 内核空间占用CPU百分比,id 空闲CPU百分比
第四行:内存总量,未用内存量,已用内存量,缓存量
内存总量(total)=未用内存量(free)+已用内存量(used)+缓存量(buff/cache)
第五行:swap分区信息
快捷键
P 将%cpu排序
M 将%mem排序
R 反转排序
1 显示所有CPU的负载
f 自定义显示字段
标签:ps,06,查看,Day,线程,内存,Linux,进程,CPU From: https://blog.csdn.net/xlv133922/article/details/137289517