在生产中实际遇到的情况,系统高负载后的情况
top
[root@xxx ~]$ top
top - 13:49:47 up 400 days, 29 min, 1 user, load average: 0.02, 0.02, 0.00
Tasks: 155 total, 1 running, 153 sleeping, 0 stopped, 1 zombie
Cpu(s): 0.1%us, 0.3%sy, 0.0%ni, 99.7%id, 0.0%wa, 0.0%hi, 0.0%si, 0.0%st
Mem: 8174464k total, 8112196k used, 62268k free, 160656k buffers
Swap: 6094840k total, 3379004k used, 2715836k free, 126196k cached
PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND
1 root 15 0 10368 500 472 S 0.0 0.0 0:32.00 init
2 root RT -5 0 0 0 S 0.0 0.0 0:03.35 migration/0
3 root 34 19 0 0 0 S 0.0 0.0 0:00.00 ksoftirqd/0
4 root RT -5 0 0 0 S 0.0 0.0 0:14.44 migration/1
第一行:时间为:13:49:47; 已经运行了up 400 days 29 min; 当前在线用户:1个; 平均负载:0.02, 0.02, 0.00 表示最近1分钟,5分钟,15分钟的系统平均负载.
第二行:进程总数:xx正在运行进程数:xx睡眠进程数:xx停止的进程数:xx僵尸进程数:xx
第三行:用户空间占用CPU百分比: xx% 内核空间占用CPU百分比:xx% 用户进程空间内改变过优先级的进程占用CPU百分比:0.0% 空闲CPU百分比:0.0 等待输入输出的CPU时间百分比:0.0 CPU服务软中断所耗费的时间总额:0.0% Steal Time:0.0%
PID | 进程ID |
USER | 进程所有者 |
PR | 优先级 |
NI | nice值,负值表示高优先级,正值表示低优先级 |
VIRT | 进程使用的虚拟内存总量 |
RES | 进程使用的、未被换出的物理内存大小 |
SHR | 共享内存大小 |
S | 进程状态 |
%CPU | 上次更新到现在的CPU时间占用百分比 |
%MEM | 进程使用的物理内存百分比 |
TIME+ | 进程使用CPU总时间 |
COMMAND | 命令名、命令行 |
第四行: 物理内存总量:xxxx 使用的物理内存总量:xxx 空闲内存总量:xxx 用作内核缓存的内存量:xx
第五行: 交换区总量:xxx 使用的交换区总量:xx 空闲交换区总量:xx 缓冲的交换区总量:xx
第六行: 进程ID、进程所有者、优先级、nice值,负值表示高优先级,正值表示低优先级、进程使用的虚拟内存总量、进程使用的、未被换出的物理内存大小、共享内存大小、进程状态、上次更新到现在的CPU时间占用百分比、进程使用的物理内存百分比、进程使用CPU总时间、命令名、命令行
PID | 进程ID |
USER | 进程所有者 |
PR | 优先级 |
NI | nice值,负值表示高优先级,正值表示低优先级 |
VIRT | 进程使用的虚拟内存总量 |
RES | 进程使用的、未被换出的物理内存大小 |
SHR | 共享内存大小 |
S | 进程状态 |
%CPU | 上次更新到现在的CPU时间占用百分比 |
%MEM | 进程使用的物理内存百分比 |
TIME+ | 进程使用CPU总时间 |
COMMAND | 命令名、命令行 |
cat /proc/meminfo
[root@xxxx ~]$ cat /proc/meminfo
MemTotal: 8174464 kB
MemFree: 59956 kB
Buffers: 160728 kB
Cached: 126548 kB
SwapCached: 1553744 kB
Active: 5046584 kB
Inactive: 2939072 kB
HighTotal: 0 kB
HighFree: 0 kB
LowTotal: 8174464 kB
MemTotal,系统从加电开始到引导完成,firmware/BIOS要保留一些内存,kernel本身要占用一些内存,最后剩下可支配的内存就是MemTotal
MemFree,表示系统尚未使用的内存
cached,缓存,是普通文件数据所占用的缓存页。“Cached” 表示除去 “buffers” 和 “swap cache” 之外,剩下的也就是普通文件的缓存页的数量
buffer, buffers” 表示块设备(block device)所占用的缓存页,包括:直接读写块设备、以及文件系统元数据
free -m
[root@xxx ~]$ free -m
total used free shared buffers cached
Mem: 7982 7924 58 0 156 123
-/+ buffers/cache: 7644 338
Swap: 5951 3299 2652
Mem:表示物理内存统计
total 内存总数 xx
used 已使用的内存 xx
free 空闲的内存数 xx
shared 当前已经废弃不用,总是xx
buffers Buffer 缓存内存数: xx
cached Page 缓存内存数:xx
(存在关系: total = used + free )
-/+ buffers/cached:表示物理内存的缓存统计
(-buffers/cache) used内存数:xx (指的第一部分Mem行中的used - buffers - cached)
(+buffers/cache) free内存数: xx (指的第一部分Mem行中的free + buffers + cached)
-buffers/cache反映的是被程序实实在在吃掉的内存;
+buffers/cache反映的是可以挪用的内存总数;
Swap:表示硬盘上交换分区的使用情况
重启服务后
shutdown -r now --立即重启
shutdown -r +30 'The System Will Reboot in 30 Mins' --30分钟后重启并并发送通知给其它在线用户
shutdown -h now --立即关机
shutdown -h +10 --10分钟后自动关机
reboot 立即重启,效果等同于shutdown -r now
[root@xxx ~]$ top
top - 14:20:48 up 4 min, 1 user, load average: 0.03, 0.10, 0.05
Tasks: 145 total, 1 running, 144 sleeping, 0 stopped, 0 zombie
Cpu(s): 0.0%us, 0.1%sy, 0.0%ni, 99.9%id, 0.0%wa, 0.0%hi, 0.0%si, 0.0%st
Mem: 8174464k total, 514704k used, 7659760k free, 30116k buffers
Swap: 6094840k total, 0k used, 6094840k free, 312892k cached
PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND
1 root 15 0 10368 684 572 S 0.0 0.0 0:00.64 init
2 root RT -5 0 0 0 S 0.0 0.0 0:00.00 migration/0
3 root 34 19 0 0 0 S 0.0 0.0 0:00.00 ksoftirqd/0
4 root RT -5 0 0 0 S 0.0 0.0 0:00.00 migration/1
cat /proc/meminfo
[root@xxxx ~]$ cat /proc/meminfo
MemTotal: 8174464 kB
MemFree: 6415948 kB
Buffers: 36816 kB
Cached: 737460 kB
SwapCached: 0 kB
Active: 1007600 kB
Inactive: 662992 kB
HighTotal: 0 kB
HighFree: 0 kB
LowTotal: 8174464 kB
LowFree: 6415948 kB
SwapTotal: 6094840 kB
SwapFree: 6094840 kB
free -m
[root@xxxx ~]$ free -m
total used free shared buffers cached
Mem: 7982 502 7480 0 29 305
-/+ buffers/cache: 167 7815
Swap: 5951 0 5951