文章目录
- 9、查看磁盘使用情况-df
- 格式
- 选项
- 示例
- 10、查看设备的 UUID 和文件系统类型-blkid
- 格式
- 选项说明
- 示例
- 11、查看块设备及分区大小挂载点-lsblk
- 格式
- 常用选项
- 示例
- 12、列出系统打开的文件或显示资源-lsof
- 格式
- 常用选项
- 使用场景
- 示例
- 13、查询内存与swap交换分区的使用率-free
- 格式
- 常用选项
- 常用命令
- 输出示例
- 输出解释
- 拓展:缓存和缓冲
- 14、查看磁盘的读写性能-iostat
- 格式
- 常用选项
- 示例
本章节类目有多篇文章。
第一篇(理论):Linux磁盘管理与文件系统(一):磁盘、MBR与分区和文件系统
第二篇:Linux磁盘管理与文件系统(二):实用工具和命令、fdisk分区示例
本篇(第三篇):一些常用管理工具和命令,用于检测、监测系统资源的分配情况和使用情况。
Tip:第二篇有fdisk实验,含有详细步骤~
9、查看磁盘使用情况-df
用于显示文件系统的磁盘空间使用情况。
格式
df [选项] [文件...]
选项
h
:以人类可读的格式显示(例如:MB, GB)。T
:显示文件系统类型。a
:包括所有文件系统,包括虚拟文件系统。i
:显示inode的使用情况。-hT
:以可读格式查看文件系统类型。(较常用)
示例
-
查看所有挂载的文件系统及其磁盘使用情况:
df -h
-
显示文件系统类型:
df -T
-
查看inode的使用情况:
df -i
10、查看设备的 UUID 和文件系统类型-blkid
用于列出设备的 UUID、文件系统类型以及其他信息。是查看设备 UUID 和文件系统类型的常用工具。
格式
blkid [设备]
选项说明
设备
:指定要查询的设备(如/dev/sda1
)。如果不指定设备,blkid
将列出所有设备的信息。
示例
-
查看所有设备的 UUID 和文件系统类型
blkid
-
查看指定设备的 UUID 和文件系统类型
blkid /dev/sda1
11、查看块设备及分区大小挂载点-lsblk
用于列出系统中的块设备及其信息。显示设备名称、类型、大小、挂载点等信息,通常用于查看磁盘和分区的布局。
格式
lsblk [选项]
常用选项
a
:显示所有设备,包括未挂载的。f
:显示文件系统类型和标签等信息。l
:以列表格式输出。o
:指定要显示的列,如NAME,SIZE,TYPE,MOUNTPOINT
。p
:显示设备的完整路径。t
:显示树形结构,以表示设备间的层次关系。
示例
-
列出所有块设备:
lsblk
-
显示设备及其文件系统信息:
lsblk -f
-
以列表格式显示设备信息:
lsblk -l
-
显示设备的完整路径:
lsblk -p
-
只显示指定列的信息:
lsblk -o NAME,SIZE,TYPE,MOUNTPOINT
12、列出系统打开的文件或显示资源-lsof
用于列出系统中当前打开的文件和相关信息。可以显示系统中正在被使用的文件、设备文件、目录、套接字、网络连接、设备等资源,用于故障排除和系统监控。
格式
lsof [选项] [文件...]
常用选项
i [类型]
:列出网络连接。类型
可以是TCP
、UDP
、@IP地址
等。u [用户]
:显示由指定用户打开的文件。p [进程号]
:列出指定进程号打开的文件。c [命令]
:列出由指定命令打开的文件。+D [目录]
:递归列出指定目录下所有打开的文件。t
:只输出文件描述符,不显示其他信息。l
:显示更详细的锁定信息。
使用场景
- 查看进程打开的文件:诊断进程是否有文件句柄泄漏或需要释放的资源。
- 检查网络连接:监控网络端口,识别哪个进程在使用特定端口。
- 确定文件占用情况:找出哪些进程正在使用某个文件,方便进行文件删除或修改。
示例
-
列出系统中所有打开的文件:
lsof
-
列出某个进程(例如进程号 1234)打开的所有文件:
lsof -p 1234
-
查看由某个用户(例如
root
)打开的所有文件:lsof -u root
-
列出所有打开的网络连接:
lsof -i
-
列出特定端口(例如 80)的网络连接:
lsof -i :80
-
查看某个文件(例如
/var/log/syslog
)被哪些进程打开:lsof /var/log/syslog
-
递归列出某个目录(例如
/tmp
)下所有被打开的文件:lsof +D /tmp
-
只输出文件描述符(简洁模式):
lsof -t
13、查询内存与swap交换分区的使用率-free
用于显示系统当前的内存(RAM)和交换空间(swap space)的使用情况。可以快速查看关于系统资源利用情况的关键信息。在排错的时候会使用到。
格式
free [选项]
常用选项
b
:以字节为单位显示内存使用情况。k
:以 KB 为单位显示内存使用情况(默认)。m
:以 MB 为单位显示内存使用情况。g
:以 GB 为单位显示内存使用情况。h
:以人类可读的格式显示内存使用情况(自动选择合适的单位,如 KB、MB、GB)。t
:显示内存的总和信息,包括物理内存和交换空间。s [秒数]
:每隔指定的秒数持续输出内存使用情况。
常用命令
表示以 MB 为单位显示结果,使用-m选项
free -m
输出示例
输出解释
输出包含两大部分:内存(Mem)和交换空间(Swap)。
- total:总内存或总交换空间大小。
- used:已使用的内存或交换空间大小。
- free:未使用的内存或交换空间大小。
- shared:在多进程间共享的内存量(不是所有系统都会显示这一列)。
- buff/cache:被缓冲(buffer)和缓存(cache)占用的内存量。这部分内存虽然被标记为“使用”,但实际上当应用需要更多内存时,这些缓冲和缓存是可以被回收的。
- available:估计可用于启动新应用程序而不需要交换的内存量。这是一个估计值,考虑了缓冲/缓存等因素。
拓展:缓存和缓冲
- 缓存(Cache):缓存是存储频繁访问的数据的临时存储区域,以减少对较慢存储设备的访问次数(如硬盘)。Linux 系统会积极使用缓存来提高性能。
- 缓冲(Buffer):缓冲是为了在数据传输过程中减少延迟而设置的临时存储区域。例如,当数据从硬盘读取到内存时,这些数据可能会先被放入缓冲区,然后再被应用程序使用。
14、查看磁盘的读写性能-iostat
用于监控系统的磁盘 I/O 活动,展示系统中 CPU 的利用率和各个设备的 I/O 统计信息。可以查看如下信息:
- 每秒设备的读写请求数
- 每秒设备的读写数据量
- I/O 请求的平均等待时间和服务时间
- CPU 的整体利用率
格式
iostat [选项] [间隔 [次数]]
- 选项:用于定制输出内容的各种选项。
- 间隔:以秒为单位,指定两次报告之间的时间间隔。
- 次数:指定报告的输出次数。
常用选项
c
:只显示 CPU 利用率信息。d
:只显示设备的 I/O 统计信息。x
:显示扩展的 I/O 统计信息,包括详细的设备利用率。k
:以 KB 为单位显示数据(默认以块为单位)。m
:以 MB 为单位显示数据。t
:显示报告时添加时间戳。
示例
显示整体的 CPU 和设备 I/O 统计信息
iostat
输出示例
有问题欢迎在评论区交流~