操作系统是由一系列用于不同目的、服务于不同任务的系统软件组成的。为了了解这些软件是否正常工作,需要由操作系统或系统管理员对其进行监视。
(1)统计磁盘的使用情况
df和du是Linux中用于统计磁盘使用情况的重要命令。df是disk free的缩写,du是disk usage的缩写。
1)找出某个文件或多个文件占用的磁盘空间
1 2 |
[root@VM_198_209_centos lsscookbook]# du file.txt 4 file.txt |
统计结果默认以字节为单位。
2)获得某个目录中所有文件的磁盘使用情况:
$ du -a DIRECTORY
-a递归地输出指定目录或多个目录中所有文件的统计结果。
3)以KB、MB或块为单位显示磁盘使用情况——选项-h
du默认显示文件占用的总字节数,但是以KB、MB或GB显示磁盘使用情况更方便阅读
1 2 |
[root@VM_198_209_centos lsscookbook]# du -h file.txt 4.0K file.txt |
4)以特定单位打印文件
$ du -b file.txt 以字节为单位(默认)
$ du -k file.txt 以KB为单位
$ du -m file.txt 以MB为单位
$ du -B BLOCK_SIZE file.txt 以指定块为单位
(2)磁盘可用空间信息
df提供磁盘可用空间信息
1 2 3 4 5 6 7 |
oot@VM_198_209_centos shell]# df -h Filesystem Size Used Avail Use% Mounted on /dev/vda1 20G 7.2G 12G 39% / devtmpfs 489M 0 489M 0% /dev tmpfs 497M 24K 497M 1% /dev/shm tmpfs 497M 13M 485M 3% /run tmpfs 497M 0 497M 0% /sys/fs/cgroup |
(3)获取当前登录用户相关信息,使用who或w
1 2 3 4 5 6 |
[root@VM_198_209_centos shell]# who root pts/0 Feb 10 15:01 (202.121.223.29) [root@VM_198_209_centos shell]# w 15:44:05 up 40 days, 1:29, 1 user, load average: 0.00, 0.01, 0.05 USER TTY FROM LOGIN@ IDLE JCPU PCPU WHAT root pts/0 202.121.223.29 15:01 5.00s 0.10s 0.00s w |
(4)列出当前登录主机的用户列表,使用命令users。
(5)查看系统已经通电运行了多长时间,使用uptime
(6)获取单个用户登录会话的信息,使用命令:
$ last USER
获取重启会话信息:
$ last reboot
获取失败的用户登录会话信息:
$ lastb
(7)ps(process state)是收集进程信息的重要工具。它提供的信息包括:拥有进行的用户、进行的起始时间、进程所对应的命令行路径、进行ID(PID)、进程所属的终端(TTY)、进程使用的内存、进程占用的CPU等。
1 2 3 4 5 6 7 8 |
[root@VM_198_209_centos shell]# ps PID TTY TIME CMD 5323 pts/0 00:00:00 bash 9811 pts/0 00:00:00 ps [root@VM_198_209_centos shell]# ps -f UID PID PPID C STIME TTY TIME CMD root 5323 5320 0 15:01 pts/0 00:00:00 -bash root 9812 5323 0 16:12 pts/0 00:00:00 ps -f |
ps命令通常结合参数使用,如上两条命令,ps将显示运行在当前终端(TTY)中的进程。
1)要获取运行在系统中的每一个进程的信息,使用选项-e(every)。选项-ax(all)也可以生成同样的输出。
2)使用-o选项指定想要显示的列:
$ ps [OTHER OPTIONS] -o parameter1,parameter2,…
-o的参数以逗号作为定界符,有如下示例:
1 2 3 4 5 6 7 8 9 10 11 |
[root@VM_198_209_centos shell]# ps -eo comm,pcpu | head COMMAND %CPU systemd 0.0 kthreadd 0.0 ksoftirqd/0 0.0 kworker/0:0H 0.0 migration/0 0.0 rcu_bh 0.0 rcuob/0 0.0 rcu_sched 0.0 rcuos/0 0.0 |
其中,head进行了过滤,只列出了前10项;comm表示COMMAND,pcpu表示CPU占用率。
-o可以使用不同的参数,这些参数及描述如下:
pcpu CPU占用率
pid 进程ID
ppid 父进程ID
pmem 内存使用率
comm 可执行文件名
cmd 简单命令(simple command)
user 启动进程的用户
nice 优先级
time 累计的CPU时间
etime 进程启动后度过的时间
tty 所关联的TTY设备
euid 有效用户ID
stat 进程状态
(8)top命令会默认输出一个占用CPU最多的进程列表:
$ top
(9)杀死进程以及发送或响应信号,kill命令可用来向进程发送信号
1)列出所有可用的信号:
$ kill -l
2)强行杀死一个进程:
$ kill -9 PROCESS_ID
或者通过名称强行杀死进程:
$ kill -9 process_name