**
服务器内存是用接近完毕
**
查看服务器内存使用情况
free -m
free -h
![avatar][base64str]
清除缓存
echo 3 > /proc/sys/vm/drop_caches
输出结果
```bash
total used free shared buff/cahce available
Mem 31Gi 11Gi 18Gi 249Mi 1.5Gi 19Gi
Swap 7.8Gi 0b 2.8Gi
第一行
total: 内存总数
used: 已经使用内存数
free: 完全空闲内存
shared: 多个进程共享的内存 buffers:
用于块设备数据缓冲,记录文件系统me* tadata(目录,权限,属性等) cached: 用于文件内容的缓冲
第二行
Mem: 物理内存
-/+ buffers/cache: 基于应用角度考虑(计算已使用内存时减去buffers/cache,计算可使用内存时加上buffers/cache)的内存情况,也可理解为真实的内存使用情况.
Swap: 交换分区
永久释放缓存
需要在
vim /etc/sysctl.conf
添加配置vm.drop_caches=1/2/3
查看某个容器缓存使用的情况
查看容器
docker ps
id name
asd college
查看容器对应的进程
ps -ef | grep college/id
root 4819 4773 2 09:50 pts/0 00:04:32 java-jar /college.jar
root 16310 20692 0 13:30 pts/2 00:00:00 grep
这里的4819就是实际进程的ID
top -p 4819
PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND
4819 root 20 0 11.6g 1.9g 17224 S 1/0 6.1 4:41.99 java
PID:进程的ID USER:进程所有者
PR:进程的优先级别,越小越优先被执行 NInice:值
VIRT:进程占用的虚拟内存
RES:进程占用的物理内存
SHR:进程使用的共享内存
S:进程的状态。
S表示休眠,
R表示正在运行,
Z表示僵死状态,
N表示该进程优先值为负数
%CPU:进程占用CPU的使用率 %
MEM:进程使用的物理内存和总内存的百分比
TIME+:该进程启动后占用的总的CPU时间,即占用CPU使用时间的累加值。
COMMAND:进程启动命令名称
清理脚本缓存内容
#!/bin/bash
USED_CURRENT=`free -m | awk 'NR==2' | awk '{print $3}'`
FREE_CURRENT=`free -m | awk 'NR==2' | awk '{print $4}'`
crontab定时任务不能使用绝对路径,不会自动执行
TARGETFILE='/root/data/test/cleanCache.log'
DATETIME=$(date +"%Y年%m月%d日 %H时%M分")
echo "===========================" >> $TARGETFILE
echo "执行清空缓存时间 ${DATETIME}" >> $TARGETFILE
echo "清理缓存前: | [Used:${USED_CURRENT}MB][Free:${FREE_CURRENT}MB]" >> $TARGETFILE
if [ $FREE_CURRENT -le 21000 ]
then
sync && echo 1 > /proc/sys/vm/drop_caches
sync && echo 2 > /proc/sys/vm/drop_caches
执行3的时候会执行1和2,不需要重复执行
sync && echo 3 > /proc/sys/vm/drop_caches
USED_CLEAN=`free -m | awk 'NR==2' | awk '{print $3}'`
FREE_CLEAN=`free -m | awk 'NR==2' | awk '{print $4}'`
echo "清理缓存后: | [Used:${USED_CLEAN}MB][Free:${FREE_CLEAN}MB]" >> $TARGETFILE
else
echo "不需要清理缓存" >> $TARGETFILE
fi
echo "===========================" >> $TARGETFILE
1.通过Xftp上传脚本cleanCache.sh至目标路径下
2.执行chmod 777 cleanCache.sh
3.vim cleanCache.sh进入编辑模式,执行:set fileformat=unix后执行:wq保存修改。
4.crontab -e */30 * * * * /home/test/cleanCache.sh
college top -p 4819 1506.5
fast-dfs
top -p 3717 1508.0
mysql
top -p 4351
activemq
top -p 7216,7263,26714