好比windows的任务管理器
用于实时监控
系统处理器状态,以及其他硬件负载信息还有动态的进程信息等等,还有按照排名,先后显示某个进程CPU,内存的使用情况排名
top交互命令 z指令
打开、关闭颜色
x指令
某一列高亮
b指令
某一列加粗
<>
大于小于号左右移动
1 2 3 4 5 6 7 8 [root@localhost ~] top - 09:16:03 up 2 min, 1 user, load average: 0.03, 0.05, 0.03 Tasks: 130 total, 1 running, 129 sleeping, 0 stopped, 0 zombie %Cpu(s): 0.0 us, 0.6 sy, 0.0 ni, 99.4 id , 0.0 wa, 0.0 hi, 0.0 si, 0.0 st KiB Mem : 1862996 total, 1524408 free, 198404 used, 140184 buff/cache KiB Swap: 2097148 total, 2097148 free, 0 used. 1514864 avail Mem PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND
之前介绍过的就不再重复
09:16:03 up
2 min
1 user
load average: 0.03
显示系统的平均负载情况,分别1分钟
、5分钟
、15分钟
显示的平均值(值越小、系统负载越低)
Tasks: 130 total, 1 running, 129 sleeping, 0 stopped, 0 zombie
总任务数、正在运行数、休眠任务数、停止任务数、僵尸进程数
%Cpu(s): 0.0 us, 0.6 sy, 0.0 ni, 99.4 id, 0.0 wa, 0.0 hi, 0.0 si, 0.0 st
CPU使用百分比情况,
us:用户占用CPU百分比情况、
sy:系统内核空间占用CPU百分比、
ni:用户进程空间占用的CPU百分比、
id:空间的CPU百分比情况、
wa等待输入输出的CPU百分比
KiB Mem : 1862996 total, 1524408 free, 198404 used, 140184 buff/cache
内存状态:总内存空间、空闲内存总量、已使用内存量、缓存使用量情况
KiB Swap: 2097148 total, 2097148 free, 0 used. 1514864 avail Mem
USER
PR:进程优先级高低
NI:nice值,值越高优先级越高
VIRT:进程使用的虚拟内存总量、VIRT=swap +RES
RES:进程使用的物理内存大小
SHR:共享内存大小,单位是kb
S:表示进程的状态
top实际使用 显示进程的绝对路径
执行演示
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 [root@localhost ~] top - 10:16:05 up 1:02, 1 user, load average: 0.01, 0.03, 0.05 Tasks: 126 total, 1 running, 125 sleeping, 0 stopped, 0 zombie %Cpu(s): 0.0 us, 0.2 sy, 0.0 ni, 99.8 id , 0.0 wa, 0.0 hi, 0.0 si, 0.0 st KiB Mem : 1862996 total, 1522684 free, 199488 used, 140824 buff/cache KiB Swap: 2097148 total, 2097148 free, 0 used. 1513444 avail Mem PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND 1568 root 20 0 158988 5820 4412 S 0.3 0.3 0:04.16 sshd: root@pts/0 5025 root 20 0 0 0 0 S 0.3 0.0 0:01.24 [kworker/0:2] 15431 root 20 0 162116 2352 1680 R 0.3 0.1 0:01.57 top -c 1 root 20 0 128008 6628 4160 S 0.0 0.4 0:01.77 /usr/lib/systemd/syste+ 2 root 20 0 0 0 0 S 0.0 0.0 0:00.01 [kthreadd] 4 root 0 -20 0 0 0 S 0.0 0.0 0:00.00 [kworker/0:0H] ...
设置top进程刷新的时间
执行演示
1 2 3 4 5 6 7 8 9 10 11 12 13 [root@localhost ~] top - 10:22:26 up 1:09, 1 user, load average: 0.01, 0.02, 0.05 Tasks: 126 total, 1 running, 125 sleeping, 0 stopped, 0 zombie %Cpu(s): 0.0 us, 0.0 sy, 0.0 ni,100.0 id , 0.0 wa, 0.0 hi, 0.0 si, 0.0 st KiB Mem : 1862996 total, 1522828 free, 199320 used, 140848 buff/cache KiB Swap: 2097148 total, 2097148 free, 0 used. 1513600 avail Mem PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND 1 root 20 0 128008 6628 4160 S 0.0 0.4 0:01.80 systemd 2 root 20 0 0 0 0 S 0.0 0.0 0:00.01 kthreadd 4 root 0 -20 0 0 0 S 0.0 0.0 0:00.00 kworker/0:0H 6 root 20 0 0 0 0 S 0.0 0.0 0:00.04 ksoftirqd/0 ...
指定查看一个进程信息
执行演示
1 2 3 4 5 6 7 8 9 [root@localhost ~] top - 10:24:02 up 1:10, 1 user, load average: 0.00, 0.01, 0.05 Tasks: 1 total, 0 running, 1 sleeping, 0 stopped, 0 zombie %Cpu(s): 0.1 us, 0.4 sy, 0.0 ni, 99.3 id , 0.1 wa, 0.0 hi, 0.1 si, 0.0 st KiB Mem : 1862996 total, 1522624 free, 199512 used, 140860 buff/cache KiB Swap: 2097148 total, 2097148 free, 0 used. 1513400 avail Mem PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND 1 root 20 0 128008 6628 4160 S 0.0 0.4 0:01.81 systemd
参数
详情参见 top参数
1 2 3 4 5 6 7 8 9 10 -b:以批处理模式操作; -c:显示完整的治命令; -d:屏幕刷新间隔时间; -I:忽略失效过程; -s:保密模式; -S:累积模式; -i<时间>:设置间隔时间; -u<用户名>:指定用户名; -p<进程号>:指定进程; -n<次数>:循环显示的次数。
nohup后台运行
nohup命令,希望程序在后台运行,输出的结果不打印到终端,不占用终端,不影响其它操作进行。
无论是否将nohup命令的输出定向到终端,nohup命令执行的输出结果都会
写入当前目录
的nohup.out
文件。
若当前目录nohup.out
文件被禁止写入
,nohup命令结果会自动输出到$HOME/nohup.out
文件。
nohup实践
以ping baidu.com
为例
用法一
输入nohup执行后需要重新开启会谈才能执行其它操作,一般不会这么用哈
执行演示
1 2 3 4 [root@localhost ~] nohup : 忽略输入并把输出追加到"nohup.out"
虽然能够实现后台运行,但这么使用并不方便,执行完后还是不能进行其它操作。
1 2 3 4 [root@localhost ~] root 39133 0.0 0.1 150088 2008 pts/0 S+ 10:57 0:00 ping baidu.com root 50300 0.0 0.1 150088 2008 pts/1 S 11:27 0:00 ping baidu.com 您在 /var/spool/mail/root 中有新邮件
用法二
不需要退出当前会谈以执行其它操作
执行演示
1 2 3 4 5 6 7 8 [root@localhost ~] [1] 50300 您在 /var/spool/mail/root 中有新邮件 [root@localhost ~] [root@localhost ~] [root@localhost ~]
回车一下
,我们可以进行其它操作,并且ping命令
在后台正常执行。
1 2 3 4 5 [root@localhost ~] root 39133 0.0 0.1 150088 2008 pts/0 S+ 10:57 0:00 ping baidu.com root 50300 0.0 0.1 150088 2008 pts/1 S 11:27 0:00 ping baidu.com root 50712 0.0 0.0 112824 988 pts/1 S+ 11:28 0:00 grep --color=auto ping 您在 /var/spool/mail/root 中有新邮件
用法三
不显示命令执行结果,并重定向到黑洞文件
这里补充一些关于黑洞文件的知识
请参阅Tinywan大佬的文章:
Shell脚本———— /dev/null 2>&1详解
1 为标准错误输出(第一个尖括号一般可以省略不写1)
2 为标准输出
&1 表示与处理1的方式相同来处理2
重新定向输出结果到指定文件 1 2 3 nohup <command > 1> targetfile 2> targetfile &nohup <command > > targetfile 2>&1 &
执行演示
1 2 3 4 [root@localhost ~] [4] 73284 [root@localhost ~] [5] 73375
我们可以在targetfile
中看到输出结果。
完全不保留结果的写法 1 2 3 4 5 nohup <command > 1>/dev/null 2>/dev/null &nohup <command > >/dev/null 2>&1 &nohup <command > &>/dev/null
执行演示
1 2 3 4 5 6 [root@localhost ~] [2] 58900 您在 /var/spool/mail/root 中有新邮件 [root@localhost ~] [3] 59489 您在 /var/spool/mail/root 中有新邮件
我们发现执行后,会返回一个PID:58900
59489
bg后台运行
类似nohup
命令
将进程放入后台运行,使得前台运行其它命令
回顾一下,快捷键的作用
CTRL+Z
我们输入
然后执行快捷键
可以检查暂停放入后台的进程
语法
1 2 [root@localhost ~] [6]+ 已停止 ping baidu.com
将后台作业移动到前台终端运行
用于将后台作业(在后台运行的或者在后台挂起的作业)放到前台终端运行。
若后台任务中只有一个,则使用该命令时可以省略任务号。
语法
参数 job_spec(可选):指定要移动到前台执行的作业标识符,可以是一到多个。
执行演示 1 2 3 4 5 6 [root@localhost ~] [6]+ 已停止 ping baidu.com [root@localhost ~] ping baidu.com 64 bytes from 110.242.68.66 (110.242.68.66): icmp_seq=2 ttl=128 time=49.3 ms 64 bytes from 110.242.68.66 (110.242.68.66): icmp_seq=3 ttl=128 time=48.4 ms
将前台终端作业移动到后台运行,但是输出的结果会在前台打印,不影响其它操作
用于将作业放到后台运行,使前台可以执行其他任务。该命令的运行效果与在指令后面添加符号&
的效果是相同的,都是将其放到系统后台执行。
若后台任务中只有一个,则使用该命令时可以省略任务号。
语法
参数 job_spec(可选):指定要移动到后台执行的作业标识符,可以是一到多个。
执行演示
可以使用fg命令将进程移到前台再ctrl+z暂停
1 2 3 4 5 6 7 8 9 [root@localhost ~] PING baidu.com (110.242.68.66) 56(84) bytes of data. 64 bytes from 110.242.68.66 (110.242.68.66): icmp_seq=1 ttl=128 time=48.8 ms bg 164 bytes from 110.242.68.66 (110.242.68.66): icmp_seq=6 ttl=128 time=48.2 ms 64 bytes from 110.242.68.66 (110.242.68.66): icmp_seq=7 ttl=128 time=48.2 ms ^Z [2]+ 已停止 ping baidu.com [root@localhost ~]
linux系统运行级别 常见级别
0 关机
1 单用户模式
2 多用户模式,无网络模式
3 完全多用户模式,有网模式
4 用户自定义级别
5 图形化界面多用户模式
6 重启机器
查看当前系统运行级别
查看/var/run/utmp
文件 1 2 [root@localhost ~] 3~~~runlevel3.10.0-1160.71.1.el7.x86_64▒n▒b�▒tty1tty1LOGIN▒▒n▒bڰ(pts/0ts/0root192.168.41.1▒n▒b▒▒▒o▒pts/1ts/1▒▒▒b]▒)
init进程是所有Linux进程的父进程,进程号为1。
init是linux进程的初始化工具。
init命令是Linux操作系统中不可缺少的程序之一,init进程是Linux内核引导运行的,是系统中的第一个进程
作用 可以使用init加上级别,直接操作系统运行级别
执行演示
1 2 3 4 5 6 7 8 9 10 [root@localhost ~]# init 6 Remote side unexpectedly closed network connection qqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqq Session stopped - Press <return> to exit tab - Press R to restart session - Press S to save terminal output to file
相当于linux的任务管理器,非内部命令
,需要另外安装。
与top的区别就是,它更好看xD
安装htop
使用htop 进入htop
设置界面
F2
可以使用上下左右小键盘,空格回车进行操作。
进程查找
F3
杀死进程
建议结合F3使用,F9杀死,且输入ENTER回车,给进程发送终止信号。
显示层级关系
F5
支持一些快捷键 输入大写
M
,会以MEM%大小
排序
P
以CPU
使用量排序
T
以进程运行时间
排序
/
进入搜索模式
,查找指定进程
…
系统资源检测工具,类似top、htop
glances工具由python语言
编写,使用psutil模块
来采集系统的硬件资源等等。
glances可以为unix和linux系统提供专家级别的新能检测。
cpu使用率
内存使用情况
内核统计信息
磁盘io转速
文件系统的剩余空间
网络io速度
缓存空间的使用情况 swap空间
动态进程信息
系统负载信息
…
glances还能将采集的数据输出到一个文件中,便于数据分析人员对服务器性能报表进行分析以及图标绘制。
安装方法
使用python的安装工具pip
安装python3
安装glances工具
直接使用yum安装
使用
相关介绍
帮助界面
输入h,进入帮助界面
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 Glances 2.5.1 with PSutil 5.6.7 Configuration file: None a Sort processes automatically b Bytes or bits for network I/O c Sort processes by CPU% l Show/hide alert logs m Sort processes by MEM% w Delete warning alerts u Sort processes by USER x Delete warning and critical alerts p Sort processes by name 1 Global CPU or per-CPU stats i Sort processes by I/O rate I Show/hide IP module t Sort processes by TIME D Enable/disable Docker stats d Show/hide disk I/O stats T View network I/O as combination f Show/hide filesystem stats U View cumulative network I/O n Show/hide network stats F Show filesystem free space s Show/hide sensors stats g Generate graphs for current history 2 Show/hide left sidebar r Reset history z Enable/disable processes stats h Show/hide this help screen 3 Enable/disable quick look plugin q Quit (Esc and Ctrl-C also work) e Enable/disable top extended stats / Enable/disable short processes name 0 Enable/disable Irix process CPU ENTER: Edit the process filter pattern
1 2 3 4 5 6 7 8 9 10 11 12 h : 显示帮助信息 q : 离开程序退出 c :按照 CPU 实时负载对系统进程进行排序 m :按照内存使用状况对系统进程排序 i:按照 I/O 使用状况对系统进程排序 p: 按照进程名称排序 d : 显示磁盘读写状况 w : 删除日志文件 l :显示日志 s: 显示传感器信息 f : 显示系统信息 1 :轮流显示每个 CPU 内核的使用情况(次选项仅仅使用在多核 CPU 系统)
参数
glances 是一个命令行工具包括如下命令选项
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 -b:显示网络连接速度 Byte/ 秒 -B @IP|host :绑定服务器端 IP 地址或者主机名称 -c @IP|host:连接 glances 服务器端 -C file:设置配置文件默认是 /etc/glances/glances.conf -d:关闭磁盘 I/O 模块 -e:显示传感器温度 -f file:设置输出文件(格式是 HTML 或者 CSV) -m:关闭挂载的磁盘模块 -n:关闭网络模块 -p PORT:设置运行端口默认是 61209 -P password:设置客户端 / 服务器密码 -s:设置 glances 运行模式为服务器 -t sec:设置屏幕刷新的时间间隔,单位为秒,默认值为 2 秒,数值许可范围:1~32767 -h : 显示帮助信息 -v : 显示版本信息
glances开启web服务功能
安装相关web工具包
启动服务(注意关闭防火墙或者开放61208端口,不然网页打不开)
1 2 [root@localhost ~] Glances web server started on http://0.0.0.0:61208/
其中的0.0.0.0
表示绑定到机器上的所有网卡上!
glances支持C-S模式
一台机器运行服务端,一台机器运行客户端
具体参数请使用man glances
查询
开启服务端 1 glances -s -B <ip> -p <port>
客户端连接