Shell III 内存/IO/文件系统相关命令

free 查看内存使用

1
2
3
4
5
[root@iZbp19tqlmjz1dmnm8w43uZ ~]# free -h
total used free shared buff/cache available
Mem: 1.8Gi 499Mi 747Mi 2.0Mi 784Mi 1.3Gi
Swap: 0B 0B 0B

iostat 查看 CPU 和磁盘 I/O 性能

1
2
3
4
5
6
7
8
9
[root@iZbp19tqlmjz1dmnm8w43uZ ~]# iostat
Linux 5.10.134-18.al8.x86_64 (iZbp19tqlmjz1dmnm8w43uZ) 04/10/2025 _x86_64_ (2 CPU)

avg-cpu: %user %nice %system %iowait %steal %idle
0.87 0.00 0.49 0.01 0.00 98.62

Device tps kB_read/s kB_wrtn/s kB_read kB_wrtn
vda 0.82 6.03 12.57 10324570 21525204

lsblk 显示块设备信息

1
2
3
4
5
6
7
[root@iZbp19tqlmjz1dmnm8w43uZ ~]# lsblk
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
vda 253:0 0 40G 0 disk
├─vda1 253:1 0 2M 0 part
├─vda2 253:2 0 200M 0 part /boot/efi
└─vda3 253:3 0 39.8G 0 part /

df 查看设备与目录的挂载关系,使用情况

1
2
3
4
5
6
7
8
9
10
11
12
[root@iZbp19tqlmjz1dmnm8w43uZ ~]# df -h
Filesystem Size Used Avail Use% Mounted on
devtmpfs 916M 0 916M 0% /dev
tmpfs 936M 84K 936M 1% /dev/shm
tmpfs 936M 764K 935M 1% /run
tmpfs 936M 0 936M 0% /sys/fs/cgroup
/dev/vda3 40G 14G 25G 36% /
/dev/vda2 200M 5.8M 195M 3% /boot/efi
tmpfs 188M 0 188M 0% /run/user/0
shm 63M 0 63M 0% /var/lib/containers/storage/overlay-containers/1936bab81ca270b4558231e4a09ddb43a3274744bbfcf280791138efb612ffd0/userdata/shm
overlay 40G 14G 25G 36% /var/lib/containers/storage/overlay/0a4e05c5de62dfb74f643f918af2c216ef814b2a8ad5cd1b60ac96d4c514c654/merged

du [path] -h 遍历文件目录,查看占用空间大小

1
2
3
[root@iZbp19tqlmjz1dmnm8w43uZ codfish]# du /home/codfish/hello/ -h
12K /home/codfish/hello/

lsof 查看哪些进程在访问当前文件目录

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
COMMAND     PID USER   FD   TYPE DEVICE SIZE/OFF    NODE NAME
bash 1022674 root cwd DIR 253,3 4096 1184776 . # shell 在当前目录执行
lsof 1022812 root cwd DIR 253,3 4096 1184776 . # shel执行lsof创建的进程在当前目录
lsof 1022813 root cwd DIR 253,3 4096 1184776 . # lsof 创建的子进程

COMMAND 发起该文件访问的进程名(可执行文件名)
PID 进程 ID
TID 线程 ID(Thread ID)— 某些工具如 lsof -T 或 proc 工具可能列出具体线程
TASKCMD 如果有线程,每个线程的名字(比如 Java 线程名、C++的 pthread 名称等)
USER 拥有该进程的用户
FD 文件描述符(File Descriptor),比如 cwd, mem, txt, 0u, 1w 等
TYPE 打开的文件类型,比如:REG(普通文件),DIR(目录),CHR(字符设备),FIFO(管道)等
DEVICE 文件所在设备的主次设备号,格式通常为 major:minor(比如 8:1 代表 /dev/sda1)
SIZE/OFF 文件的大小或文件偏移量
NODE 文件在设备上的 inode 编号
NAME 文件名(或资源名),即被访问的实际对象路径

mount 完成 块设备-文件系统-资源挂载

1
2
3
4
5
6
7
8
mkfs.ext4 /dev/sdb1  # 定义块设备的文件系统
mount /dev/sdb1 /mnt/mydisk # 挂载文件系统到挂载点

# 或者直接 指定文件系统到挂载点
mount -t <文件系统类型> <设备> <挂载点>
mount -t proc proc /proc
# 挂载进程 这里的/proc


Shell III 内存/IO/文件系统相关命令
http://gadoid.io/2025/04/09/Shell-III-内存-IO-文件系统相关命令/
作者
Codfish
发布于
2025年4月9日
许可协议