要使用 sar,需要运行 sadc(系统活动数据收集程序)。 使用 rcsysstat \{start|status\} 检查其状态或启动它。
sar 可以生成关于几乎所有重要的系统活动的各种报告,其中包括 CPU、内存、IRQ 使用率、IO 或联网。 对于这许多选项,要在这进行进一步的解释是非常复杂的。 请参见各种文档中的参考手册页上的例子。
实用程序 free 检查 RAM 使用情况。 将显示有关可用内存和已使用内存以及交换区域的详细信息:
tux@mercury:~> free
total used free shared buffers cached
Mem: 515584 501704 13880 0 73040 334592
-/+ buffers/cache: 94072 421512
Swap: 658656 0 658656
选项 -b、-k、-m 和 -g 分别以字节、KB、MB 或 GB 为单位显示输出。 参数 -d delay 可以确保显示每 delay 秒刷新一次。 例如,free -d 1.5 每 1.5 秒进行一次更新。
它可用于确定当前哪些进程或用户正在访问特定的文件。 例如,假定您需要卸装已装入 /mnt 的文件系统。umount 返回“设备正忙”。 然后可使用 fuser 命令确定哪些进程正在访问该设备:
tux@mercury:~> fuser -v /mnt/*
USER PID ACCESS COMMAND
/mnt/notes.txt tux 26597 f.... less在终止 less 进程之后(该进程在另一个终端上运行),便可以成功卸装该文件系统了。
Linux 内核在信号缓冲区中保存某些讯息。 要查看这些讯息,请输入命令 dmesg:
$ dmesg [...] end_request: I/O error, dev fd0, sector 0 subfs: unsuccessful attempt to mount media (256) e100: eth0: e100_watchdog: link up, 100Mbps, half-duplex NET: Registered protocol family 17 IA-32 Microcode Update Driver: v1.14 <tigran@veritas.com> microcode: CPU0 updated from revision 0xe to 0x2e, date = 08112004 IA-32 Microcode Update Driver v1.14 unregistered bootsplash: status on console 0 changed to on NET: Registered protocol family 10 Disabled Privacy Extensions on device c0326ea0(lo) IPv6 over IPv4 tunneling driver powernow: This module only works with AMD K7 CPUs bootsplash: status on console 0 changed to on
以前的事件记录在文件 /var/log/messages 和 /var/log/warn 中。
要查看为具有进程 ID PID 的进程打开的所有文件的列表,请使用 -p。 例如,要查看当前 shell 使用的所有文件,请输入:
tux@mercury:~> lsof -p $$ COMMAND PID USER FD TYPE DEVICE SIZE NODE NAME bash 5552 tux cwd DIR 3,3 1512 117619 /home/tux bash 5552 tux rtd DIR 3,3 584 2 / bash 5552 tux txt REG 3,3 498816 13047 /bin/bash bash 5552 tux mem REG 0,0 0 [heap] (stat: No such bash 5552 tux mem REG 3,3 217016 115687 /var/run/nscd/passwd bash 5552 tux mem REG 3,3 208464 11867 /usr/lib/locale/en_GB. bash 5552 tux mem REG 3,3 882134 11868 /usr/lib/locale/en_GB. bash 5552 tux mem REG 3,3 1386997 8837 /lib/libc-2.3.6.so bash 5552 tux mem REG 3,3 13836 8843 /lib/libdl-2.3.6.so bash 5552 tux mem REG 3,3 290856 12204 /lib/libncurses.so.5.5 bash 5552 tux mem REG 3,3 26936 13004 /lib/libhistory.so.5.1 bash 5552 tux mem REG 3,3 190200 13006 /lib/libreadline.so.5. bash 5552 tux mem REG 3,3 54 11842 /usr/lib/locale/en_GB. bash 5552 tux mem REG 3,3 2375 11663 /usr/lib/locale/en_GB. bash 5552 tux mem REG 3,3 290 11736 /usr/lib/locale/en_GB. bash 5552 tux mem REG 3,3 52 11831 /usr/lib/locale/en_GB. bash 5552 tux mem REG 3,3 34 11862 /usr/lib/locale/en_GB. bash 5552 tux mem REG 3,3 62 11839 /usr/lib/locale/en_GB. bash 5552 tux mem REG 3,3 127 11664 /usr/lib/locale/en_GB. bash 5552 tux mem REG 3,3 56 11735 /usr/lib/locale/en_GB. bash 5552 tux mem REG 3,3 23 11866 /usr/lib/locale/en_GB. bash 5552 tux mem REG 3,3 21544 9109 /usr/lib/gconv/gconv-m bash 5552 tux mem REG 3,3 366 9720 /usr/lib/locale/en_GB. bash 5552 tux mem REG 3,3 97165 8828 /lib/ld-2.3.6.so bash 5552 tux 0u CHR 136,5 7 /dev/pts/5 bash 5552 tux 1u CHR 136,5 7 /dev/pts/5 bash 5552 tux 2u CHR 136,5 7 /dev/pts/5 bash 5552 tux 255u CHR 136,5 7 /dev/pts/5
使用了特殊 shell 变量 $$,它的值是 shell 的进程 ID。
如果不带任何参数使用命令 lsof,它将列出当前打开的所有文件。 由于有数千个打开的文件,大多数情况下不必列出所有这些文件。 但是,所有文件的列表可以与搜索功能组合在一起产生有用的列表。 例如,列出所有使用过的字符设备:
tux@mercury:~> lsof | grep CHR bash 3838 tux 0u CHR 136,0 2 /dev/pts/0 bash 3838 tux 1u CHR 136,0 2 /dev/pts/0 bash 3838 tux 2u CHR 136,0 2 /dev/pts/0 bash 3838 tux 255u CHR 136,0 2 /dev/pts/0 bash 5552 tux 0u CHR 136,5 7 /dev/pts/5 bash 5552 tux 1u CHR 136,5 7 /dev/pts/5 bash 5552 tux 2u CHR 136,5 7 /dev/pts/5 bash 5552 tux 255u CHR 136,5 7 /dev/pts/5 X 5646 root mem CHR 1,1 1006 /dev/mem lsof 5673 tux 0u CHR 136,5 7 /dev/pts/5 lsof 5673 tux 2u CHR 136,5 7 /dev/pts/5 grep 5674 tux 1u CHR 136,5 7 /dev/pts/5 grep 5674 tux 2u CHR 136,5 7 /dev/pts/5
udevmonitor 可监听由 udev 规则发送的内核 uevent 和 event 并能将事件的设备路径 (DEVPATH) 打印到控制台。 当连接 USB 记忆棒时会出现一系列事件:
UEVENT[1138806687] add@/devices/pci0000:00/0000:00:1d.7/usb4/4-2/4-2.2 UEVENT[1138806687] add@/devices/pci0000:00/0000:00:1d.7/usb4/4-2/4-2.2/4-2.2 UEVENT[1138806687] add@/class/scsi_host/host4 UEVENT[1138806687] add@/class/usb_device/usbdev4.10 UDEV [1138806687] add@/devices/pci0000:00/0000:00:1d.7/usb4/4-2/4-2.2 UDEV [1138806687] add@/devices/pci0000:00/0000:00:1d.7/usb4/4-2/4-2.2/4-2.2 UDEV [1138806687] add@/class/scsi_host/host4 UDEV [1138806687] add@/class/usb_device/usbdev4.10 UEVENT[1138806692] add@/devices/pci0000:00/0000:00:1d.7/usb4/4-2/4-2.2/4-2.2 UEVENT[1138806692] add@/block/sdb UEVENT[1138806692] add@/class/scsi_generic/sg1 UEVENT[1138806692] add@/class/scsi_device/4:0:0:0 UDEV [1138806693] add@/devices/pci0000:00/0000:00:1d.7/usb4/4-2/4-2.2/4-2.2 UDEV [1138806693] add@/class/scsi_generic/sg1 UDEV [1138806693] add@/class/scsi_device/4:0:0:0 UDEV [1138806693] add@/block/sdb UEVENT[1138806694] add@/block/sdb/sdb1 UDEV [1138806694] add@/block/sdb/sdb1 UEVENT[1138806694] mount@/block/sdb/sdb1 UEVENT[1138806697] umount@/block/sdb/sdb1
xrestop 提供每个连接的 X11 客户机服务器端资源的统计信息。 输出与 第 14.6.4 节 “进程:top” 非常相似。
xrestop - Display: localhost:0
Monitoring 40 clients. XErrors: 0
Pixmaps: 42013K total, Other: 206K total, All: 42219K total
res-base Wins GCs Fnts Pxms Misc Pxm mem Other Total PID Identifier
3e00000 385 36 1 751 107 18161K 13K 18175K ? NOVELL: SU
4600000 391 122 1 1182 889 4566K 33K 4600K ? amaroK - S
1600000 35 11 0 76 142 3811K 4K 3816K ? KDE Deskto
3400000 52 31 1 69 74 2816K 4K 2820K ? Linux Shel
2c00000 50 25 1 43 50 2374K 3K 2378K ? Linux Shel
2e00000 50 10 1 36 42 2341K 3K 2344K ? Linux Shel
2600000 37 24 1 34 50 1772K 3K 1775K ? Root - Kon
4800000 37 24 1 34 49 1772K 3K 1775K ? Root - Kon
2a00000 209 33 1 323 238 1111K 12K 1123K ? Trekstor25
1800000 182 32 1 302 285 1039K 12K 1052K ? kicker
1400000 157 121 1 231 477 777K 18K 796K ? kwin
3c00000 175 36 1 248 168 510K 9K 520K ? de.comp.la
3a00000 326 42 1 579 444 486K 20K 506K ? [opensuse-
0a00000 85 38 1 317 224 102K 9K 111K ? Kopete
4e00000 25 17 1 60 66 63K 3K 66K ? YaST Contr
2400000 11 10 0 56 51 53K 1K 55K 22061 suseplugge
0e00000 20 12 1 50 92 50K 3K 54K 22016 kded
3200000 6 41 5 72 84 40K 8K 48K ? EMACS
2200000 54 9 1 30 31 42K 3K 45K ? SUSEWatche
4400000 2 11 1 30 34 34K 2K 36K 16489 kdesu
1a00000 255 7 0 42 11 19K 6K 26K ? KMix
3800000 2 14 1 34 37 21K 2K 24K 22242 knotify
1e00000 10 7 0 42 9 15K 624B 15K ? KPowersave
3600000 106 6 1 30 9 7K 3K 11K 22236 konqueror
2000000 10 5 0 21 34 9K 1K 10K ? klipper
3000000 21 7 0 11 9 7K 888B 8K ? KDE Wallet