查看系统负载:
w命令/uptime命令
- 在运维工作中,w命令是一个最常用的命令之一,它可以查看系统当前的负载情况
[root@localhost ~]# w
12:00:54 up 3:54, 1 user, load average: 0.08, 0.03, 0.05
USER TTY FROM LOGIN@ IDLE JCPU PCPU WHAT
root pts/0 192.168.254.1 08:16 6.00s 6:48 0.01s w
- 第一行显示的内容为:1,系统时间 2,系统运行时间 3,登录用户数量 4,平均负载 (三个数值,第一个是1分钟内的平均负载,第二个是5分钟内的平均负载 ,第三个是15分钟内的平均负载)
- 第二行的内容是下面行的说明;1,登录用户。2,登录终端。3,登录时间点。这里面比较重要的是第一行的load average 的三个数值中的第一个,一般情况下该值越大说明CPU负载越大,只要不超过CPU数量就没关系,查看CPU数量可以使用
cat /proc/cpuinfo
来实现 ,通过查看最后一段信息的processor ,如果是3 ,则为4个。(这里的个数说的不是物理CPU个数,比如机器里面有两个四核CPU,则这个数量就是8)
top命令
[root@localhost ~]# top
top - 23:35:14 up 52 min, 2 users, load average: 0.00, 0.01, 0.05
Tasks: 360 total, 1 running, 359 sleeping, 0 stopped, 0 zombie
%Cpu(s): 0.0 us, 0.1 sy, 0.0 ni, 99.8 id, 0.0 wa, 0.0 hi, 0.1 si, 0.0 st
KiB Mem: 3869044 total, 304728 used, 3564316 free, 692 buffers
KiB Swap: 2047996 total, 0 used, 2047996 free. 99664 cached Mem
PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND
2346 root 20 0 133684 4924 3748 S 0.3 0.1 0:00.40 sshd
2433 root 20 0 123880 1868 1184 R 0.3 0.0 0:00.08 top
1 root 20 0 49976 6456 3740 S 0.0 0.2 0:03.34 systemd
2 root 20 0 0 0 0 S 0.0 0.0 0:00.03 kthreadd
- top命令执行的结果是动态输出的,每3秒刷新一次,它的特点是把占用系统资源最高的进程放到前面。
- RES这一项是进程所占内存大小
- %mem为使用内存大小百分比
- 在top界面可以按M键,使显示内容按内存使用大小排序
- 在top界面可以按1键,来显示所有CPU的使用情况。
- top -bn1可以一次性输出所有信息,但是它是静态的,方便shell脚本使用。
free命令
- free查看内存和swap使用情况,关注最后一列的available,这个数字是真正剩余的物理内存大小
[root@localhost ~]# free
total used free shared buff/cache available
Mem: 3861512 812224 2521912 11820 527376 2777284
Swap: 2097148 0 2097148
free -k /free -h /free -m
以不同的容量单位显示内容。
手动增加swap
[root@localhost ~]# dd if=/dev/zero of=/bigfile bs=1M count=1000
1000+0 records in
1000+0 records out
1048576000 bytes (1.0 GB) copied, 5.13188 s, 204 MB/s
[root@localhost ~]# mkswap /bigfile
Setting up swapspace version 1, size = 1023996 KiB
no label, UUID=addba5c0-f7a2-42f5-89a6-48fed834bec0
[root@localhost ~]# chmod 600 /bigfile
[root@localhost ~]# swapon /bigfile
vi /etc/fstab
/bigfile swap swap defaults 0 0