定时 回收 CentOS 系统 内存

#!/bin/bash

LIMIT=512
LOG_FILE="/data/logs/timing_dropcaches.log"

#定时清理系统内存
#https://blog.csdn.net/gaojinshan/article/details/40710369
used=`free -m | awk ‘NR==2‘ | awk ‘{print $3}‘`
free=`free -m | awk ‘NR==2‘ | awk ‘{print $4}‘`

echo "===========================" >> $LOG_FILE
date +"%Y-%m-%d %H:%M.%S" >> $LOG_FILE
echo "Memory usage | [Use:${used}MB][Free:${free}MB] | limit[${LIMIT}MB]" >> $LOG_FILE

# drop caches when the free memory less than 512M
if [ $free -le $LIMIT ] ; then
 #sync && echo 1 > /proc/sys/vm/drop_caches
 #sync && echo 2 > /proc/sys/vm/drop_caches
 sync && echo 3 > /proc/sys/vm/drop_caches
 echo "OK" >> $LOG_FILE
else
 echo "Not required" >> $LOG_FILE
fi

以上脚本加入crontab

#每半小时检查内存使用情况,并清理一次内存*/30 * * * *  /data/shell/timing_dropcaches.sh >> /data/logs/timing_dropcaches.log

#删除3天前的日志0 1 * * * /usr/bin/find /data/logs/ -name *.log -mtime +3 | grep 2018 | xargs rm -Rf {} > /dev/null 2>&1

原文地址:https://www.cnblogs.com/phpdragon/p/10182469.html

时间: 2024-10-14 10:28:12

定时 回收 CentOS 系统 内存的相关文章

centos系统内存 buff/cache 占用过高

情况说明: centos系统,buff/cache占用过高,导致服务器内存居高不下,但是通过top查看系统进程并无过多占用内存 实际情况: 处理步骤:1.执行sync命令: sync 2.执行释放内存命令: echo 3 > /proc/sys/vm/drop_caches 命令解释: sync 指令会将存于 buffer 中的资料强制写入硬盘中. echo 1 > /proc/sys/vm/drop_caches:表示清除pagecache. echo 2 > /proc/sys/vm

zabbix添加对centos系统内存使用率百分比的监控

1.创建itemConfiguration-->Templates-->Template OS Linux-->items-->create item name:memory used percent type:Calculated #计算类型 key:vm.memory.size[usedpercent] Formula:100*(last("vm.memory.size[total]")-last("vm.memory.size[available

让32位linux/Centos系统支持4G以上内存

让32位的Centos系统支持4G以上内存,刚开始的时候有人说用64位的系统不都解决了吗?其实32位系统和64位系统各有各的用处.下面使用Centos-5.5-32位演示 一.系统环境: VMware虚拟机 系统:Centos-5.5  32位 内存:4G 32位系统没有破除限制,系统只能识别都3G的内存 # free -m # uname -a  //原始内核 Linux localhost 2.6.18-194.el5 #1 SMP Fri Apr 2 14:58:35 EDT 2010 i

CentOS下内存使用率查看

freetotal        used        free      shared     buffers      cachedMem:        1815340     1628680      186660           0      130316     1327736-/+ buffers/cache:      170628     1644712Swap:       1020116           0     1020116Mem:表示物理内存统计-/+ b

垃圾回收机制和内存泄露

在C/C++中,需要程序员手动地回收分配的内存,否则一直被占用,这就会带来一些问题,当程序员忘记回收无用内存或者错误回收程序核心类库的内存,都会导致程序的崩溃. 在java中不必程序员关心内存回收,当没有对象引用的对象所占用的内存(注意不是对象本身)时,java视其为垃圾,会有JRE在后台自动完成回收.这种机制称为垃圾回收机制(Garbage Collection ,简称GC).下面我们来回答下面几个问题: 1.由谁来回收垃圾? 在java程序运行过程中,有一个垃圾回收器(GC)会不定时地被唤起

(转)增加定时检测linux占用内存,及时清理功能

增加定时检测linux占用内存,及时清理功能 原文:http://www.voidcn.com/article/p-wnmannom-boa.html free -m 查看,发现内存跑满了. 再 top,然后按下shift+m,也就是按内存占用百分比排序,发现排在第一的进程,才占用7.9%. 但是总内存大小8G,竟然有5G都被使用了, 那是什么占用的呢? 百度了一下,据说是centos为了提高效率,把部分使用过的文件缓存到了内存里. 如果是这样的话,我又不需要这样的文件性能,那就可以释放.如下两

(转)从内存管 理、内存泄漏、内存回收探讨C++内存管理

http://www.cr173.com/html/18898_all.html 内存管理是C++最令人切齿痛恨的问题,也是C++最有争议的问题,C++高手从中获得了更好的性能,更大的自由,C++菜鸟的收获则是一遍一遍的检查代码和对 C++的痛恨,但内存管理在C++中无处不在,内存泄漏几乎在每个C++程序中都会发生,因此要想成为C++高手,内存管理一关是必须要过的,除非放弃 C++,转到Java或者.NET,他们的内存管理基本是自动的,当然你也放弃了自由和对内存的支配权,还放弃了C++超绝的性能

转---高并发Web服务的演变——节约系统内存和CPU

[问底]徐汉彬:高并发Web服务的演变——节约系统内存和CPU 发表于22小时前| 4223次阅读| 来源CSDN| 22 条评论| 作者徐汉彬 问底Web服务内存CPU并发徐汉彬 摘要:现在的Web系统面对的并发连接数在近几年呈现指数增长,高并发成为了一种常态,给Web系统带来不小的挑战.一味地通过增加机器来解决并发量的增长,成本是非常高昂的.结合技术优化方案,才是更有效的解决方法. [导读] 徐汉彬曾在阿里巴巴和腾讯从事4年多的技术研发工作,负责过日请求量过亿的Web系统升级与重构,目前在小

Java垃圾回收机制以及内存泄漏

原文地址 前言 在segmentfault上看到一个问题:java有完善的GC机制,那么在java中是否会出现内存泄漏的问题,以及能否给出一个内存泄漏的案例.本问题视图给出此问题的完整答案. 垃圾回收机制简介 在程序运行过程中,每创建一个对象都会被分配一定的内存用以存储对象数据.如果只是不停的分配内存,那么程序迟早面临内存不足的问题.所以在任何语言中,都会有一个内存回收机制来释放过期对象的内存,以保证内存能够被重复利用. 内存回收机制按照实现角色的不同可以分为两种,一种是程序员手动实现内存的释放