linux学习--服务器和服务的管理

查询磁盘使用

1 统一磁盘整体情况,包括磁盘大小,已使用,可用

df -h

在这里插入图片描述

2 查看指定目录整体情况

只列出总和,不显示该路径下各子文件的大小。
在这里插入图片描述

3 详细显示出各子文件的大小情况

在这里插入图片描述

查看内存和进程

1 查看内存总体使用情况

1.1 top

top -m

在这里插入图片描述

PID:当前运行进程的ID
USER:进程属主
PR:每个进程的优先级别
NInice:反应一个进程“优先级”状态的值,其取值范围是-20至19,一
    共40个级别。这个值越小,表示进程”优先级”越高,而值越
    大“优先级”越低。一般会把nice值叫做静态优先级
VIRT:进程占用的虚拟内存
RES:进程占用的物理内存
SHR:进程使用的共享内存
S:进程的状态。S表示休眠,R表示正在运行,Z表示僵死状态,N表示
  该进程优先值为负数
%CPU:进程占用CPU的使用率
%MEM:进程使用的物理内存和总内存的百分比
TIME+:该进程启动后占用的总的CPU时间,即占用CPU使用时间的累加值。
COMMAND:进程启动命令名称

查看技巧

l 切换显示平均负载和启动时间信息。 
m 切换显示内存信息。 
t 切换显示进程和CPU状态信息。 
c 切换显示命令名称和完整命令行。 
M 根据驻留内存大小进行排序。 
P 根据CPU使用百分比大小进行排序。 
T 根据时间/累计时间进行排序。 

1.2 free

下面是两个系统的显示结果(centos7和debian)
在这里插入图片描述在这里插入图片描述

可以用 -b 以字节显示、-k 以 KB 显示、-m 以 MB 显示、-g 以 GB 显示、–tera 以 TB 显示。

total : 总计物理内存的大小。
used : 已使用多大。
free : 可用有多少。
Shared : 多个进程共享的内存总额。
Buffers/cached : 磁盘缓存的大小。
-/+ buffers/cached) :显示被 buffer 和 cache 使用的物理内存大小。
free :可用有多少。
available :显示还可以被应用程序使用的物理内存大小。

注意:
我们通过free命令查看机器空闲内存时,会发现free的值很小。这主要是因为,在Linux系统中有这么一种思想,内存不用白不用,因此它尽可能的cache和buffer一些数据,以方便下次使用。但实际上这些内存也是可以立刻拿来使用的。

所以:真正的可用内存数是free+cache+buffer。

1.2.1 持续查看内存的使用情况

free -s 3

-s 这个参数让 free 命令以一定的时间间隔持续地执行。你需要传递给命令行一个数字参数,做为这个时间间隔的秒数。
在这里插入图片描述

2 查看进程情况

2.1 linux下获取占用CPU资源最多的10个进程

ps aux|head -1;ps aux|grep -v PID|sort -rn -k +3|head

或者top (然后按下P,注意这里是大写)

在这里插入图片描述

2.2 linux下获取占用内存资源最多的10个进程

ps aux|head -1;ps aux|grep -v PID|sort -rn -k +4|head

或者top (然后按下M,注意这里是大写)

在这里插入图片描述
命令组合解析(针对CPU的,MEN也同样道理):

ps aux|head -1;ps aux|grep -v PID|sort -rn -k +3|head

该命令组合实际上是下面两句命令:
ps aux|head -1
ps aux|grep -v PID|sort -rn -k +3|head
其中第一句主要是为了获取标题(USER PID %CPU %MEM VSZ RSS TTY STAT START TIME COMMAND)。
接下来的grep -v PID是将ps aux命令得到的标题去掉,即grep不包含PID这三个字母组合的行,再将其中结果使用sort排序。
sort -rn -k +3该命令中的-rn的r表示是结果倒序排列,n为以数值大小排序,而-k +3则是针对第3列的内容进行排序,再使用head命令
获取默认前10行数据。(其中的|表示管道操作)

补充:内容解释

PID:进程的ID
USER:进程所有者
PR:进程的优先级别,越小越优先被执行
NInice:值
VIRT:进程占用的虚拟内存
RES:进程占用的物理内存
SHR:进程使用的共享内存
S:进程的状态。S表示休眠,R表示正在运行,Z表示僵死状态,N表示该进程优先值为负数
%CPU:进程占用CPU的使用率
%MEM:进程使用的物理内存和总内存的百分比
TIME+:该进程启动后占用的总的CPU时间,即占用CPU使用时间的累加值。
COMMAND:进程启动命令名称

2.3 通过端口号查询进程号pId

ps -aux | grep 端口号 (推荐)
ps -ef  | grep 端口号
lsof -i:端口号	(推荐)
lsof -i | grep 端口号
netstat -tunlp | grep 端口号 (推荐)

在这里插入图片描述在这里插入图片描述

2.4 通过服务器名称查看进程号pid

ps -aux/ef | grep 服务名称
pgrep -f 服务名称

支持模糊查询
在这里插入图片描述在这里插入图片描述

2.5 根据进程查看此进程所占用的端口等信息

netstat -nap | grep pid
netstat -ntlp | grep pid

lsof -i | grep pid 

在这里插入图片描述

2.6 kill掉进程

pkill -f 服务名称
kill -9 pid 

kill 命令的执行原理是这样的,kill 命令会向操作系统内核发送一个信号(多是终止信号)和目标进程的 PID,然后系统内核根据收到的信号类型,对指定进程进行相应的操作。

在这里插入图片描述
但是据我目前测试 -1重启好像不起作用,如果有哪位大神知道原因,麻烦留言一下。

发布了157 篇原创文章 · 获赞 77 · 访问量 15万+

猜你喜欢

转载自blog.csdn.net/wu2374633583/article/details/91348719