栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 系统运维 > 运维 > Linux

服务器内存是用接近完毕

Linux 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

服务器内存是用接近完毕

**

服务器内存是用接近完毕

**
查看服务器内存使用情况

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
转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/333778.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号