跳到主要内容

设备管理

  • 硬件管理
    • hwclock 显示与设定硬件时钟
  • 磁盘管理
    • fdisk 用于观察硬盘实体使用情况
    • df 显示磁盘的相关信息
    • du 显示每个文件和目录的磁盘使用空间
  • 内核与模块管理
    • uname 显示 Linux 系统信息
  • 性能监测与优化
    • lsof 显示 Linux 系统当前一打开的所有文件列表
    • time 统计命令所花费的事件
    • free 显示内存的使用情况
    • top 显示或管理执行中的程序

磁盘管理

fdisk

fdisk 命令用于观察硬盘实体使用情况,也可对硬盘分区。

# 查看磁盘分区表信息
fdisk -l

df

df 命令用于显示磁盘分区上的可使用的磁盘空间。默认显示单位为 KB。可以利用该命令来获取硬盘被占用了多少空间,目前还剩下多少空间等信息。

# 查看系统中磁盘的使用量
# -h 按照用户易读形式显示,通常用 M 代替兆字节,用 G 代替吉字节
df -h

Linux 系统后台一直有进程来处理文件或使用文件。df 命令的输出值显示的是 Linux 系统认为的当前值。有可能系统上有运行的进程已经创建或删除了某个文件,但尚未释放文件。这个值是不会算进闲置空间的。

du

du 命令可以显示某个特定目录(默认情况下是当前目录)的磁盘使用情况。这个方法可以用来快速判断系统上某个目录下是否有超大文件。

默认情况下,du 命令会显示当前目录下所有文件、目录和子目录的磁盘使用情况,它会以磁盘块为单位来表明每个文件或目录占用了多大存储空间。对标准大小的目录来说,这个输出会是一个比较长的列表。

du

# 显示所有已列出文件总的大小
du -c

# 按用户易读的格式输出大小
du -h

# 显示每个输出参数的总计
du -s


每行输出左边的数值是每个文件或目录占用的磁盘块数。注意,这个列表是从目录层级的最底部开始,然后按文件、子目录、目录逐级向上。

# 显示当前文件夹的统计信息
du -sh *

# 查看指定目录下所有子孙级别文件的占用空间
# du <directory-name>
du Libraray

内核与模块管理

uname

uname 命令可以输出当前的内核信息,让你了解到用的是什么机器。

uname -e

性能监测与优化

lsof

lsof(list open files)是一个列出当前系统打开文件的工具。在 Linux 环境下,任何事物都以文件的形式存在,通过文件不仅仅可以访问常规数据,还可以访问网络连接和硬件。所以如传输控制协议(TCP)和用户数据报协议(UDP)套接字等,系统在后台能为该应用程序分配了一个文件描述符,无论这个文件的本质如何,该文件描述符为应用程序与操作系统之间的交互提供了通用接口。因为应用程序打开文件的描述符列表提供了大量关于这个应用程序本身的信息,因此通过 lsof 工具能够查看这个列表对系统及排错将是很有帮助的。

lsof -i:端口号

free

top 也能看内容,但不友好,free 是专门用来查看内存的。包括物理内存和虚拟内存 swap。

# 以 MB 为单位显示内存使用情况
free -m

# 每 10 秒观察内存使用状况
free -s 10

第一部分 Mem 行说明:

  • total:内存总数
  • used:已经使用的内存数
  • free:空闲的内存数
  • shared:当前已经废弃不用
  • buffers:Buffer 缓存内存数
  • cached:Page 缓存内存数

关系:total = used + free

第二部分 (-/+ buffers/cache) 说明:

  • (-buffers/cache) used 内存数:第一部分 Mem 行中的 used – buffers – cached
  • (+buffers/cache) free 内存数: 第一部分 Mem 行中的 free + buffers + cached

可见-buffers/cache 反映的是被程序实实在在吃掉的内存,而+buffers/cache 反映的是可以挪用的内存总数。

第三部分是指交换分区。

top

top 命令可以实时动态地查看系统的整体运行情况,是个综合了多方信息监测系统性能和运行信息的实用工具。

可以实时动态地查看系统的整体运行情况,是一个综合了多方信息监测系统性能和运行信息的实用工具。

# 查看系统运行情况
top

# 指定屏幕刷新时间 10s
top -d 10

# 指定 pid 为 2531 的进程
top -H -p pid

top 交互命令:

top 命令执行过程中可以使用一些交互命令。这些命令都是单字母的,如果在命令行中使用了 -s 选项,其中一些命令可能会被屏蔽。

  • h:显示帮助画面,给出一些简短的命令总结说明;
  • k:终止一个进程;
  • i:忽略闲置和僵死进程,这是一个开关式命令;
  • q:退出程序;
  • r:重新安排一个进程的优先级别;
  • S:切换到累计模式;
  • s:改变两次刷新之间的延迟时间(单位为 s),如果有小数,就换算成 ms。输入 0 值则系统将不断刷新,默认值是 5s;
  • f或者F:从当前显示中添加或者删除项目;
  • o或者O:改变显示项目的顺序;
  • l:切换显示平均负载和启动时间信息;
  • m:切换显示内存信息;
  • t:切换显示进程和 CPU 状态信息;
  • c:切换显示命令名称和完整命令行;
  • M:根据驻留内存大小进行排序;
  • P:根据 CPU 使用百分比大小进行排序;
  • T:根据时间/累计时间进行排序;
  • w:将当前设置写入~/.toprc 文件中。

参考资料: