静态查看进程 ps
[root@tianyun ~]# ps aux |less
USER PID %CPU %MEM VSZ RSS TTY STAT START TIME COMMAND
root 1 0.0 0.6 128096 6708 ? Ss 16:20 0:01 /usr/lib/systemd/systemd
————————————————————————————
USER: 运行进程的用户
PID: 进程ID
%CPU: CPU占用率
%MEM: 内存占用率
VSZ: 占用虚拟内存
RSS: 占用实际内存
TTY: 进程运行的终端 //可以开启vim 查询到终端名称
STAT: 进程状态 man ps (/STATE)
———————————————————————————
R 运行
S 可中断睡眠 Sleep,(休眠中, 受阻, 在等待某个条件的形成或接受到信号)
D 不可中断睡眠,(收到信号不唤醒和不可运行, 进程必须等待直到有中断发生)
T 停止的进程
Z 僵尸进程
X 死掉的进程
————————————————————————————
[了解]
Ss s进程的领导者,父进程
S< <优先级较高的进程
SN N优先级较低的进程
R+ +表示是前台的进程组
Sl 以线程的方式运行
————————————————————————————
START: 进程的启动时间 //可以开启vim ,在用date验证。
TIME: 进程占用CPU的总时间
COMMAND: 进程文件,进程名
5种状态码
D 不可中断 uninterruptible sleep (usually IO)
R 运行 runnable (on run queue)
S 中断 sleeping
T 停止 traced or stopped
Z 僵死 a defunct (”zombie”) process
示例1:
1 以CPU占比降序排列
[root@tianyun ~]# ps aux --sort %cpu |less //--sort排序,升序(小到大)
示例2:安装一个进程观察,父子进程以及状态。父亲Ss 和 儿子S
[alice@tianyun ~]$ sudo yum -y install httpd //安装网站程序。
[alice@tianyun ~]$ sudo systemctl start httpd //启动网站
[alice@tianyun ~]$ sudo systemctl stop firewalld //关闭防火墙
[root@tianyun ~]# ps aux |grep httpd //查看网站程序。
root 9279 0.0 0.0 4264 672 pts/1 S+ 14:37 0:00 \_ grep httpd
root 8310 0.0 0.1 10092 2912 ? Ss 14:19 0:00 /usr/sbin/httpd
apache 8311 0.0 0.0 10092 2060 ? S 14:19 0:00 \_ /usr/sbin/httpd
apache 8312 0.0 0.0 10092 2060 ? S 14:19 0:00 \_ /usr/sbin/httpd
apache 8313 0.0 0.0 10092 2060 ? S 14:19 0:00 \_ /usr/sbin/httpd
apache 8314 0.0 0.0 10092 2060 ? S 14:19 0:00 \_ /usr/sbin/httpd
apache 8315 0.0 0.0 10092 2060 ? S 14:19 0:00 \_ /usr/sbin/httpd
apache 8316 0.0 0.0 10092 2060 ? S 14:19 0:00 \_ /usr/sbin/httpd
apache 8318 0.0 0.0 10092 2060 ? S 14:19 0:00 \_ /usr/sbin/httpd
apache 8319 0.0 0.0 10092 2060 ? S 14:19 0:00 \_ /usr/sbin/httpd
示例3:自定义显示字段
[root@tianyun ~]# ps axo user,pid,ppid,%mem,command //xo指定列显示
[root@tianyun ~]# ps axo user,pid,ppid,%mem,command |grep httpd
root 8310 1 0.1 /usr/sbin/httpd
apache 8311 8310 0.0 /usr/sbin/httpd
apache 8312 8310 0.0 /usr/sbin/httpd
apache 8313 8310 0.0 /usr/sbin/httpd
apache 8314 8310 0.0 /usr/sbin/httpd
apache 8315 8310 0.0 /usr/sbin/httpd
apache 8316 8310 0.0 /usr/sbin/httpd
apache 8318 8310 0.0 /usr/sbin/httpd
apache 8319 8310 0.0 /usr/sbin/httpd
root 9236 6798 0.0 grep httpd
[root@tianyun ~]# ps axo user,pid,ppid,%mem,%cpu,command --sort -%cpu |less //针对某些程序,显示某些列,再进行排序。简洁明了
查看进程的4种方法:
第一种。cat
[root@localhost ~]$ cat /run/sshd.pid
830
第二种。ps
[root@localhost ~]# ps aux |grep sshd
root 10180 0.0 0.0 7224 1024 ? Ss 16:00 0:00 /usr/sbin/sshd
第三种。pgrep
[root@localhost ~]# pgrep -l sshd
10180 sshd
[root@localhost ~]# pgrep sshd
10180
第四种。pidof
[root@localhost ~]# pidof sshd
10180
第一部分:系统整体统计信息
top - 11:45:08 up 18:54, 4 users, load average: 0.05, 0.05, 0.05
Tasks: 176 total, 1 running, 175 sleeping, 0 stopped, 0 zombie
%Cpu(s): 0.0 us, 0.3 sy, 0.0 ni, 99.7 id, 0.0 wa, 0.0 hi, 0.0 si, 0.0 st
KiB Mem : 3865520 total, 1100000 free, 580268 used, 2185252 buff/cache
KiB Swap: 4063228 total, 4063228 free, 0 used. 2917828 avail Mem
负载加权值解释:—小于1正常————————————
load average: 0.86, 0.56, 0.78 系统最近 1分钟,5分钟,15分钟平均负载
![image.png](https://img.haomeiwen.com/i11415933/b0f24560309890aa.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)
top技巧
动态查看进程 top,像windows的任务管理器
[root@tianyun ~]# top //回车,立刻刷新。按z彩色显示,按F,通过光标设置列的顺序。
[root@localhost ~]# top -d 1 //每1秒刷新。
[root@localhost ~]# top -d 1 -p 10126 查看指定进程的动态信息
[root@localhost ~]# top -d 1 -p 10126,1 查看10126和1号进程
[root@localhost ~]# top -d 1 -u apache 查看指定用户的进程
[root@localhost ~]# top -d 1 -b -n 2 > top.txt //-b附加参数,只看2次top信息后写入到文件
[root@localhost ~]#vim top.txt //最后打开文件详细阅读
top交互命令
Ctrl+L 擦除并且重写屏幕。
h或者? 显示帮助画面,给出一些简短的命令总结说明。
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文件中。这是写top配置文件的推荐方法。
1 查看计划任务程序crond
[root@localhost ~]$ ps aux |grep crond
root 22319 0.0 0.1 124140 1568 ? Ss 14:54 0:00 /usr/sbin/crond -n
yang 22427 0.0 0.0 112648 964 pts/2 R+ 15:07 0:00 grep --color=auto crond
2 暂停计划任务程序。
[root@localhost ~]$
[root@localhost ~]$ sudo kill -19 22319
[root@localhost ~]$ ps aux |grep crond
root 22319 0.0 0.1 124140 1568 ? Ts 14:54 0:00 /usr/sbin/crond -n
yang 22431 0.0 0.0 112648 964 pts/2 R+ 15:07 0:00 grep --color=auto crond
3 继续计划任务程序。观察状态
[root@localhost ~]$
[root@localhost ~]$ sudo kill -cont 22319
[root@localhost ~]$ ps aux |grep crond
root 22319 0.0 0.1 124140 1568 ? Ss 14:54 0:00 /usr/sbin/crond -n
yang 22436 0.0 0.0 112648 960 pts/2 R+ 15:08 0:00 grep --color=auto crond
总结:kill带ID,killall带程序名称
kill (PID or Job ID) killall (name)
使用top杀死一个进程
top也可杀死进程
1 请使用一个终端,开启一个进程。
[aofa@localhost ~]$ sleep 10000
2 在另一个终端查询并杀死该进程。
[root@localhost ~]# ps aux | grep sleep
root 2004 0.0 0.0 107896 604 ? S 06:51 0:00 sleep 60
aofa 2058 0.0 0.0 107896 604 pts/2 S+ 06:52 0:00 sleep 10000
root 2063 0.0 0.0 112664 972 pts/1 R+ 06:52 0:00 grep --color=auto sleep
3 通过top杀死该进程。
[root@localhost ~]# top -d 1 -p 2058
k
9
回车
screen
示例2:使用屏风程序,管理远程主机。防止远程掉线
[root@tianyun ~]# ssh 172.16.50.240
[root@www ~]# yum -y install screen
[root@www ~]# screen -S install_apache //-S启动会话的名字
sleep 9000
==断网后,重新连接==
[root@www ~]# screen -list
There are screens on:
28958.install_nginx (Detached)
29013.install_apache (Detached)
2 Sockets in /var/run/screen/S-root.
[root@www ~]# screen -r 29013
文件系统proc
查看CPU
1.lscpu
2.grep 'processor' /proc/cpuinfo 逻辑CPU的个数
3.grep 'physical id ' /proc/cpuinfo 物理CPU的个数
查看内存
1.free -m
查看内核
cat /proc/cmdline
查看CPU使用率
uptime
查看网络
cat /proc/sys/net/ipv4/ip_forward
网友评论