关注【郑大钱呀
】【公】【众】【号】,我们一起交流,一起学习。
文章目录
1.1 进程查询命令(ps)
在Windows系统中,如果我们想查询有哪些进程,我们可以打开任务管理器,进行查询,在Linux系统中,我们可以通过ps命令来查询
。
示例1:查询本身进程和当前终端进程
ps
执行结果如下:
[root@iZ8vb15btme7rdyvwu43dyZ ~]# ps
PID TTY TIME CMD
1000396 pts/0 00:00:00 bash
1021028 pts/0 00:00:00 ps
如果我们在使用ps命令的时候,什么选项参数,都不加,那么它查询的是它自己本身的进程以及终端的进程,因为ps命令本身以及执行命令的终端都是一个可执行程序,也是一个进程
。
示例2:查询所有进程
ps -ef
执行结果如下:
[root@VM-0-6-centos ~]# ps -ef
UID PID PPID C STIME TTY TIME CMD
root 1 0 0 Jul22 ? 00:10:41 /sbin/init
root 2 0 0 Jul22 ? 00:00:00 [kthreadd]
root 3 2 0 Jul22 ? 00:00:00 [migration/0]
root 4 2 0 Jul22 ? 00:01:17 [ksoftirqd/0]
root 5 2 0 Jul22 ? 00:00:00 [stopper/0]
root 6 2 0 Jul22 ? 00:00:00 [watchdog/0]
root 7 2 0 Jul22 ? 00:34:49 [events/0]
root 8 2 0 Jul22 ? 00:00:00 [events/0]
执行结果中的UID
表示每个用户的编号,PID
表示每个进程的编号,每个进程都有一个父进程,这个PPID
就是其父亲的编号。
1.2 结束进程命令(kill)
kill命令主要作用就是终止进程,比如当程序运行时无响应了,卡死了,此时我们就可以使用kill命令来将进程终止
。
kill -9 45678
这里的-9
的含义表示信号,这里指不顾后果的强制终止,我们可以通过kill -l
的命令来查询所有的信号,一共有64种, 457678
指的是进程号。
1.3 管道命令
管道命令其实非常简单,就是一个|
,我们为什么要叫它管道呢,主要还是因为它的功能,管道的作用就是将一个命令的输出用作另一个命令的输入,就像水管一样,将水从一个地方传到另一个地方
,那我们在实际的工作中是如何使用的呢?
示例1:查询与Nginx服务相关的进程
我们在上面的学习中都知道,ps -ef
命令的作用是查询所有的进程,但是在Linux系统的服务实在太多了,我们只想找到我们关注的进程,比如Nginx
,此时我们就可以使用管道将ps命令和grep命令结合起来使用
。
ps -ef | grep nginx
执行结果如下:
[root@iZ8vb15btme7rdyvwu43dyZ study]# ps -ef | grep nginx
root 927407 1 0 7月17 ? 00:00:00 nginx: master process nginx -c /root/finance/Finance/nginx.conf
root 927408 927407 0 7月17 ? 00:00:04 nginx: worker process
root 1055004 1000396 0 15:35 pts/0 00:00:00 grep --color=auto nginx
[root@iZ8vb15btme7rdyvwu43dyZ study]#
示例2:查询与linlang相关的目录
我们都知道ll
命令是用来查询文件或目录,但是当一个文件夹下的目录和文件特别多的时候,这个时候我们去一个一个的找,就显得不太方便,此时我们可以通过和通道符的结合使用,来查询我们关注的目录或文件
。
ll | grep linlang
执行代码如下:
[root@iZ8vb study]# ls
linlang1 linlang2 linlang3 plus
[root@iZ8vb15btme7rdyvwu43dyZ study]# ll | grep linlang
drwxr-xr-x 2 root root 4096 8月 8 15:44 linlang1
drwxr-xr-x 2 root root 4096 8月 8 15:44 linlang2
drwxr-xr-x 2 root root 4096 8月 8 15:44 linlang3
[root@iZ8vb15btme7rdyvwu43dyZ study]#
1.4 系统内存情况查询(free)
当我们觉得服务器有点卡顿的时候,想查看一下内存的使用情况,此时就可以使用free
命令来查询
示例1:简单使用
(base) [root@iZ8vb15btme7rdyvwu43dyZ ~]# free
total used free shared buff/cache available
Mem: 2020696 1309716 78024 3392 632956 555928
Swap: 0 0 0
从上面我们查询结果我们可以看到两行数据,第一行表示物理内存(Mem)
的使用情况,第二行表示交换内存(swap)
的使用情况,我们可以看到有几个列,具体含义如下:
total
列显示系统总的可用物理内存和交换空间大小。used
列显示已经被使用的物理内存和交换空间。free
列显示还有多少物理内存和交换空间可用使用。shared
列显示被共享使用的物理内存大小。buff/cache
列显示被 buffer 和 cache 使用的物理内存大小。available
列显示还可以被应用程序使用的物理内存大小。
示例2:人性化显示
free命令默认显示的单位是KB
,显示不太友好,此时我们可以使用加上-h
选项,让其更加人性化的显示,示例如下:
(base) [root@iZ8vb ~]# free -h
total used free shared buff/cache available
Mem: 1.9Gi 1.2Gi 79Mi 3.0Mi 616Mi 545Mi
Swap: 0B 0B 0B
示例3: 定时刷新,显示内存信息
随着系统的运行,它的内容都是在不断的变化的,我们可以使用-s
参数设置一个时间(单位是秒),每隔一段时间刷新一下内存信息。
(base) [root@iZ8vb15btme7rdyvwu43dyZ ~]# free -s 2
total used free shared buff/cache available
Mem: 2020696 1307824 78392 3384 634480 557324
Swap: 0 0 0
total used free shared buff/cache available
Mem: 2020696 1308232 77912 3384 634552 556884
Swap: 0 0 0
total used free shared buff/cache available
Mem: 2020696 1308232 77912 3384 634552 556884
Swap: 0 0 0
从上面的结果,我们可以知道,每隔2秒,就会刷新一下服务器的内存信息,当你想要停止的时候,只需要按住上Ctrl+C
即可退出。
1.5 显示进程资源信息(top)
我们在使用window系统时,可以使用任务管理器
,查看每个进程的资源使用情况,那么这个top
指令就类似于Linux的任务管理器,示例如下:
top - 15:32:21 up 41 days, 5:55, 1 user, load average: 0.08, 0.08, 0.03
Tasks: 122 total, 2 running, 120 sleeping, 0 stopped, 0 zombie
%Cpu(s): 1.3 us, 1.3 sy, 0.0 ni, 96.7 id, 0.0 wa, 0.3 hi, 0.3 si, 0.0 st
MiB Mem : 1973.3 total, 86.0 free, 1278.2 used, 609.1 buff/cache
MiB Swap: 0.0 total, 0.0 free, 0.0 used. 543.5 avail Mem
PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND
2635157 root 10 -10 124680 24928 8012 S 1.0 1.2 126:26.57 AliYunDun
1 root 20 0 251864 9620 4520 S 0.0 0.5 41:18.15 systemd
2 root 20 0 0 0 0 S 0.0 0.0 0:00.68 kthreadd
3 root 0 -20 0 0 0 I 0.0 0.0 0:00.00 rcu_gp
4 root 0 -20 0 0 0 I 0.0 0.0 0:00.00 rcu_par_gp
6 root 0 -20 0 0 0 I 0.0 0.0 0:00.00 kworker/0:0H-events_highpri
8 root 0 -20 0 0 0 I 0.0 0.0 0:00.00 mm_percpu_wq
9 root 20 0 0 0 0 S 0.0 0.0 0:00.00 rcu_tasks_rude_
10 root 20 0 0 0 0 S 0.0 0.0 0:00.00 rcu_tasks_trace
11 root 20 0 0 0 0 S 0.0 0.0 1:55.22 ksoftirqd/0
12 root 20 0 0 0 0 R 0.0 0.0 3:00.96 rcu_sched
13 root rt 0 0 0 0 S 0.0 0.0 0:00.73 migration/0
15 root 20 0 0 0 0 S 0.0 0.0 0:00.00 cpuhp/0
17 root 20 0 0 0 0 S 0.0 0.0 0:00.00 kdevtmpfs
第一行数据信息解析(系统常规信息)
top - 15:32:21 up 41 days, 5:55, 1 user, load average: 0.08, 0.08, 0.03
15:32:21
表示当前系统时间up 41 days, 5:55
表示当前服务器运行时间1 user
表示当前登录的用户数load average: 0.08, 0.08, 0.03
:负载均衡的平均时间,average后面的三个数分别是1分钟、5分钟、15分钟的负载情况
第二行数据信息解析(任务信息统计)
Tasks: 122 total, 2 running, 120 sleeping, 0 stopped, 0 zombie
total
:表示总的任务数running
:表示运行中任务数sleeping
:表示睡眠中任务数stopped
:表示停止的任务数zombie
:僵尸进程
第三行数据信息解析(CPU相关信息)
%Cpu(s): 1.3 us, 1.3 sy, 0.0 ni, 96.7 id, 0.0 wa, 0.3 hi, 0.3 si, 0.0 st
1.3 us
: 用户空间占用CPU百分比1.3 sy
: 内核空间占用CPU百分比0.0 ni
: 用户进程空间内改变过优先级的进程占用CPU百分比96.7 id
: 空闲CPU百分比0.0 wa
: 等待输入输出的CPU时间百分比0.3 hi
: 硬中断占用CPU的百分比0.3 si
: 软中断占用CPU的百分比0.0 st
:Steal time是虚拟机监控程序为另一个虚拟处理器提供服务时,虚拟CPU等待真实CPU的时间百分比
第四行数据信息解析(Mem内存状态)
MiB Mem : 1973.3 total, 86.0 free, 1278.2 used, 609.1 buff/cache
total
列显示系统总的可用物理内存free
列显示还有多少物理内存used
列显示已经被使用的物理内存buff/cache
列显示被 buffer 和 cache 使用的物理内存大小。
第五行数据信息解析(swap交换分区信息)
MiB Swap: 0.0 total, 0.0 free, 0.0 used. 543.5 avail Mem
total
列显示系统总的可用交换空间大小free
列显示还有多少交换空间大小used
列显示已经被使用的交换空间大小avail Mem
列显示可以分配和使用的内存量。
第六行往下信息解析(各任务状态监控)
PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND
2635157 root 10 -10 124680 24928 8012 S 1.0 1.2 126:26.57 AliYunDun
PID:
进程idUSER
: 进程所有者PR
: 进程优先级NI
: nice值。负值表示高优先级,正值表示低优先级VIRT
: 进程使用的虚拟内存总量,单位kb。VIRT=SWAP+RESRES
: 进程使用的、未被换出的物理内存大小,单位kb。RES=CODE+DATASHR
: 共享内存大小,单位kbS
: 进程状态。D=不可中断的睡眠状态 R=运行 S=睡眠 T=跟踪/停止 Z=僵尸进程%CPU
: 上次更新到现在的CPU时间占用百分比%MEM
: 进程使用的物理内存百分比TIME+
: 进程使用的CPU时间总计,单位1/100秒COMMAND
: 进程名称(命令名/命令行)
1.6 磁盘信息查询命令(df)
我们在window上查看磁盘盘符使用情况时,一般都是打开文件管理器查看,在Linux中查看分区的磁盘使用情况,可以使用df
,为了更加人性化的显示,我们可以加上-h
的参数,示例如下:
(base) [root@iZ8vb15btme7rdyvwu43dyZ ~]# df -h
Filesystem Size Used Avail Use% Mounted on
devtmpfs 969M 0 969M 0% /dev
tmpfs 987M 0 987M 0% /dev/shm
tmpfs 987M 764K 986M 1% /run
tmpfs 987M 0 987M 0% /sys/fs/cgroup
/dev/vda1 40G 13G 25G 34% /
tmpfs 198M 0 198M 0% /run/user/0
结尾
本期的内容就到这里了,如有不足之处还请大家多多指正,欢迎大家留言、关注、转发、收藏,谢谢。