内容一:显示所有服务启动的时间
# system-analyze
内容二:显示某一个服务启动的时间
# system-analyze <service>
# system-analyze
# system-analyze <service>
# free -m
1) total 内存的总大小
2) used 正在被使用的内存大小
3) free 没有被使用的内存大小
4) shared 正在被多个进程共享的内存大小
5) buffers 内存中被系统分配但是还没有被使用的 buffers 大小。这些数据暂时存储在内存中,当下次再此使用时可以在内存中被快速调用。buffers (buffer page) 代表块设备 (硬盘等设备) 所占用的缓存页,对应从硬盘中直接获取的数据,处于内存和硬盘之间,由内核使用 (当 free 状态的内存不够时,它会自动释放出来,也可以手动释放出来)
6) cached 内存中被系统分配但是还没有被使用的 cached 大小。这些数据暂时存储在内容中,当下次再此使用时可以在内存中被快速调用。cached (cache page) 代表普通文件数据 (硬盘里的数据) 所占用的缓存页,对应 vfs 页缓冲层的数据,处于内存和 CPU (处理器) 之间,由应用程序使用 (当 free 状态的内存不够时,它会自动释放出来,也可以手动释放出来)
7) -buffers/cached = used – buffers – cached,也就是真实的内存使用量
8) +buffers/cached = free + buffers + cached,也就是真实的内存剩余量
9) available = free + buffers + cached,也就是真实的内存剩余量
(
补充:释放处于 buffers 和 cached 状态内存的方法
1) 释放 page cache:
# echo 1 > /proc/sys/vm/drop_caches
2) 释放 dentries 和 inodes:
# echo 2 > /proc/sys/vm/drop_caches
3) 同时释放 pagecache、dentries 和 inodes:
# echo 3 > /proc/sys/vm/drop_caches
)
名称:检测服务器 CPU 占用率并报警写入日志
作用:检测服务器 CPU 占用率并报警写入日志
1. 在此脚本的分割线内写入相应的内容
2. 给此脚本添加执行权限
3. 将此脚本添加到周期性计划任务里
4. 如果 CPU 占用率超过了报警值则将报警信息写入 /var/log/message
cputhreshold=95 #CPU 报警的占比值
#!/bin/bash
####################### Separator ########################
cputhreshold=95
####################### Separator ########################
cpumonitor() {
cpu=`top -n 1 -b | grep Cpu | awk -F, '{print $1}'| awk -F: '{print $2}'| awk '{print $1}'`
if [ `echo "$cpu > $1"|bc` -ne 0 ]
then
logger "CPU_Alarm CPU until $cpu"
fi
}
cpumonitor $cputhreshold
Author: Mingyu Zhu
Name: view the process using swap
Function: view the process using swap
1. Add execution permission to this script
2. Execute the script
#!/bin/bash
i=1
while [ $i -le 100 ]
do free -m
sleep 15
let i=i+1
done
oom-killer ......
或者:
Out of memory: Kill process ......
或者:
mems_allowed=0
1) 系统出现了内存不足的情况
2) 占用内存最大的进程被系统杀死了
1) 增加内存
2) 限制应用可使用的最大内存