Linux 系统资源管理命令全解析
下面详细解析 Linux 系统资源管理核心命令,涵盖磁盘管理、文件系统操作、性能监控和网络分析四大领域:
一、磁盘分区管理
1. fdisk - 传统磁盘分区工具
# 查看磁盘分区
sudo fdisk -l
# 进入交互模式 (如操作 /dev/sda)
sudo fdisk /dev/sda
交互命令:
n : 新建分区
d : 删除分区
p : 显示分区表
w : 写入更改
q : 退出不保存
2. parted - 高级分区工具(支持 GPT)
# 查看分区
sudo parted -l
# 创建 GPT 分区表
sudo parted /dev/sdb mklabel gpt
# 创建 100GB 分区
sudo parted /dev/sdb mkpart primary ext4 0% 100GB
二、文件系统操作
3. mkfs.ext4 - 创建 ext4 文件系统
# 格式化分区
sudo mkfs.ext4 /dev/sdb1
# 带标签格式化
sudo mkfs.ext4 -L "DataDisk" /dev/sdb1
4. mount / umount - 挂载/卸载文件系统
# 挂载分区
sudo mount /dev/sdb1 /mnt/data
# 卸载分区
sudo umount /mnt/data
# 永久挂载 (编辑 /etc/fstab)
/dev/sdb1 /data ext4 defaults 0 2
5. fsck.ext4 - 文件系统检查修复
# 检查分区
sudo fsck.ext4 /dev/sda1
# 强制修复
sudo fsck.ext4 -f /dev/sda1
三、逻辑卷管理 (LVM)
| 命令 | 功能 | 示例 |
|---|
pvcreate | 创建物理卷 | sudo pvcreate /dev/sdb |
vgcreate | 创建卷组 | sudo vgcreate vg_data /dev/sdb |
lvcreate | 创建逻辑卷 | sudo lvcreate -L 100G -n lv_data vg_data |
lvextend | 扩展逻辑卷 | sudo lvextend -L +50G /dev/vg_data/lv_data |
resize2fs | 调整文件系统大小 | sudo resize2fs /dev/vg_data/lv_data |
四、磁盘操作与空间分析
6. dd - 磁盘/文件低级复制
# 制作 U 盘启动镜像
sudo dd if=ubuntu.iso of=/dev/sdc bs=4M status=progress
# 磁盘克隆
sudo dd if=/dev/sda of=/dev/sdb bs=64K conv=noerror,sync
# 测试磁盘速度
dd if=/dev/zero of=./testfile bs=1G count=1 oflag=direct
7. du - 目录空间分析
# 查看当前目录大小
du -sh .
# 查看目录下各子目录大小
du -h --max-depth=1 /var
# 排除特定目录
du -h --exclude=*.log /home
8. df - 磁盘空间报告
# 人类可读格式
df -h
# 显示 inode 使用
df -i
# 显示特定文件系统类型
df -h -t ext4
五、系统性能监控
9. top - 实时进程监控
top
交互命令:
P : CPU 使用排序
M : 内存使用排序
1 : 显示多核详情
k : 结束进程
10. htop (增强版 top)
# 安装
sudo apt install htop # Ubuntu
sudo yum install htop # CentOS
# 使用
htop
11. free - 内存使用分析
# 显示内存 (MB)
free -m
# 详细报告
free -h -s 5 # 每5秒刷新
12. uptime - 系统负载报告
uptime
# 输出:10:30:01 up 15 days, 3:45, 2 users, load average: 0.08, 0.03, 0.05
13. w - 登录用户与进程
w
# 输出:
# USER TTY FROM LOGIN@ IDLE JCPU PCPU WHAT
# john pts/0 192.168.1.5 09:15 5.00s 0.10s 0.00s w
六、I/O 性能分析
14. iostat - CPU/磁盘 I/O 统计
# 每2秒刷新,显示所有设备
iostat -dx 2
# 关键指标:
# %util : 设备使用率
# await : I/O 平均等待时间
15. vmstat - 虚拟内存统计
# 每1秒刷新,共5次
vmstat 1 5
# 关键字段:
# r : 运行队列进程数
# swap : 交换内存使用 (si/so)
# io : 块设备IO (bi/bo)
16. iotop - 磁盘 I/O 进程监控
sudo iotop
# 类似 top 的交互界面,按 o 只显示活动进程
七、网络与进程分析
17. ps - 进程快照
# 显示所有进程
ps aux
# 树形结构显示
ps -ejH
# 查找特定进程
ps aux | grep nginx
18. netstat / ss - 网络连接分析
# 显示所有监听端口 (netstat)
netstat -tulnp
# 显示所有连接 (ss)
ss -tunap
# 查看进程占用端口
ss -ltp | grep java
19. lsof - 打开文件列表
# 查看端口占用
sudo lsof -i :80
# 查看用户打开文件
lsof -u www-data
# 查看目录打开文件
lsof +D /var/log
20. iftop - 实时带宽监控
sudo iftop -P -i eth0
# 显示网络流量,按 s 显示源,d 显示目标
21. sar - 系统历史性能数据
# 安装收集器
sudo apt install sysstat # Ubuntu
sudo yum install sysstat # CentOS
# 查看 CPU 历史
sar -u
# 查看内存使用
sar -r
# 生成每日报告
sar -A -f /var/log/sa/sa01
八、实战场景命令组合
1. 磁盘空间告警排查
# 找出大文件
sudo du -h / | sort -h | tail -20
# 检查 inode 使用
df -i
2. 内存泄漏分析
# 监控内存进程
top -o %MEM
# 检查内存分配
vmstat 5
3. 网络故障排查
# 检查连接
ss -tanp | grep ESTAB
# 分析带宽
sudo iftop -i eth0
# 路由跟踪
traceroute 8.8.8.8
4. 性能瓶颈定位
# CPU 分析
mpstat -P ALL 2
# I/O 分析
iostat -x 2
# 综合报告
sar -u -r -d 1 10
命令速查表
| 类别 | 命令 | 核心功能 |
|---|
| 磁盘管理 | fdisk | MBR 分区操作 |
| | parted | GPT 分区操作 |
| 文件系统 | mkfs.ext4 | 创建 ext4 文件系统 |
| | fsck.ext4 | 文件系统检查修复 |
| LVM | lvcreate | 创建逻辑卷 |
| 空间分析 | df | 磁盘空间报告 |
| | du | 目录空间分析 |
| 性能监控 | top | 实时进程监控 |
| | vmstat | 虚拟内存统计 |
| | iostat | I/O 性能分析 |
| 网络分析 | ss | 网络连接分析 |
| | iftop | 实时带宽监控 |
| 进程分析 | ps | 进程快照 |
| | lsof | 打开文件列表 |
| 系统状态 | sar | 历史性能数据分析 |
提示:生产环境中建议定期收集性能数据(通过 sar 和 sysstat),并设置磁盘空间监控(如 df -h 配合脚本告警)。掌握这些命令是 Linux 系统管理的核心技能,建议在测试环境中充分练习。
评论 (0)