现象:服务器内存一点一点在上涨 重启后恢复

解决思路:
1.首先看java日志文件,有没有报错(ooM)。(没有,考虑内存泄漏)
2.通过dump目录,生成los.hprof文件,使用jvisualvm.exe工具查看,是否有大量类存在。(有,找到代码位置,解决掉;没有,下一步)
3.确认xms,xmx等参数已设置,确保Java内存不增长,排除java项目的影响。
4.通过top free 两个命令,进行中午,晚上两次观察,确认是哪个项目或free中哪个参数涨的快。

第一次观察:

第2次观察:

第3次观察:


5.确认了消耗的内存是free中shared占用的。
6.确认shared的意思:
shared的内存主要使用来给tmpfs使用。
有时候,当应用程序使用到Tmpfs时,而在部署的时候如果没有对应用程序占用的内存做足够的评估时,就有可能把Tmpfs用满,这个时候就需要调整Tmpfs的大小了,当然,调整的大小不能大于你机器内存大小,否则,你只能换机器了,又或是优化你的应用程序。
7.df -h
查看当前目录下一级子文件和子目录占用的磁盘容量:
(可以确认tmpfs的临时文件在哪个目录下)


8.既然是临时文件,定时清理/tmp中的文件即可。
CentOS 7 系统有一个默认定时器会每隔 1 天执行一次临时目录清理操作,把 /tmp 目录下所有超过 10 天没有任何变动的子目录全部删除。
(由于业务产生的临时文件太多,10天清理一次,内存没那么多,因此,需要修改清理配置,改成清理两天前的没有任何变动的子目录全部删除)
1.先确认是否是centos7版本,
2.找的这个文件
/usr/lib/tmpfiles.d/tmp.conf
3.修改配置文件/usr/lib/tmpfiles.d/tmp.conf
v /tmp 1777 root root 10d           #   清理/tmp下10天前的目录和文件 将10改成 2  #   清理/tmp下2天前的目录和文件

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值