在生产中实际遇到的情况,系统高负载后的情况
top
[root@xxx ~]$ toptop - 13:49:47 up 400 days, 29 min, 1 user, load average: 0.02, 0.02, 0.00Tasks: 155 total, 1 running, 153 sleeping, 0 stopped, 1 zombieCpu(s): 0.1%us, 0.3%sy, 0.0%ni, 99.7%id, 0.0%wa, 0.0%hi, 0.0%si, 0.0%stMem: 8174464k total, 8112196k used, 62268k free, 160656k buffersSwap: 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 | 命令名、命令行 |
[root@xxxx ~]$ cat /proc/meminfo MemTotal: 8174464 kBMemFree: 59956 kBBuffers: 160728 kBCached: 126548 kBSwapCached: 1553744 kBActive: 5046584 kBInactive: 2939072 kBHighTotal: 0 kBHighFree: 0 kBLowTotal: 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 cachedMem: 7982 7924 58 0 156 123-/+ buffers/cache: 7644 338Swap: 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 ~]$ toptop - 14:20:48 up 4 min, 1 user, load average: 0.03, 0.10, 0.05Tasks: 145 total, 1 running, 144 sleeping, 0 stopped, 0 zombieCpu(s): 0.0%us, 0.1%sy, 0.0%ni, 99.9%id, 0.0%wa, 0.0%hi, 0.0%si, 0.0%stMem: 8174464k total, 514704k used, 7659760k free, 30116k buffersSwap: 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 kBMemFree: 6415948 kBBuffers: 36816 kBCached: 737460 kBSwapCached: 0 kBActive: 1007600 kBInactive: 662992 kBHighTotal: 0 kBHighFree: 0 kBLowTotal: 8174464 kBLowFree: 6415948 kBSwapTotal: 6094840 kBSwapFree: 6094840 kB
free -m
[root@xxxx ~]$ free -m total used free shared buffers cachedMem: 7982 502 7480 0 29 305-/+ buffers/cache: 167 7815Swap: 5951 0 5951