linux服务器内存不够用怎么办?
2021-03-01 22:21
676 查看
服务器随着运行时间的增加,占用内存会逐渐增加。如果服务器内存小,就很容易出现内存占满,系统变慢,甚至是卡死的情况。一个办法是增加物理内存,但这涉及到费用、停机、开机箱等。这里有一个处理方案,可供借鉴。效果好的话,可以不用买内存条了哈哈。
如果你分析各个进程占用内存大小,然后把它们加一起,发现并不等于总占用内存的大小。那为什么free -m指令显示剩余的内存那么小呢?内存用来做什么了呢?
原来操作系统运行中会自己选择部分数据缓存到内存中,free -m结果中
-/+ buffers/cache: 后面统计的就是缓存数据的情况
缓存使用的物理内存加上进程占用物理内存,才是总的物理内存。
为了保护服务不会因为物理内存占用过高而卡死,可以定时计划crontab中每隔一小时清空操作系统的缓存数据,配置如下。表示每当到整点的45分时,执行
echo 3 > /proc/sys/vm/drop_caches 命令,清除操作系统缓存。
[root@localhost ~]# crontab -l
45 * * * * echo 3 > /proc/sys/vm/drop_caches
事实表明,清除缓存不但没有降低系统的速度,速度还明显提高了。当然,我的实验场景是物理内存本来就小只有8G,并且系统访问用户不大的情况。其它系统是否适用还没有数据支持。
相关文章推荐
- linux内存不够用怎么办
- Linux系统内存不够用怎么办?释放Linux内存的教程
- java 值传递跟引用传递在内存中怎么分配的
- windows7系统怎么识别4G内存具体实现方法
- linux服务器一次内存异常的处理
- Win7怎么看电脑内存?Win7系统查看电脑内存的三种方法
- Linux服务器内存讲解,与手动释放
- 前天一道我不能回答好的面试题:内存泄露你怎么解决?希望大家不吝赐教
- c++ 内存管理:8、内存耗尽怎么办
- [转]在Linux服务器上手工释放内存
- GridView命令不够用怎么办?
- 指令引用的内存不能为written怎么解决
- 怎么减少Redis内存占用
- Linux服务器CPU、内存、磁盘空间、负载情况查看python脚本
- 怎么看C++对象的内存结构 和 怎么解密C++的name mangling
- 0x00411202指令引用的0x00000000内存该内存不能为read错误,怎么解决
- Linux服务器内存分析及问题排查
- 性能测试必备知识(11)- 怎么理解内存中的Buffer和Cache?
- 面经手册 · 第14篇《volatile 怎么实现的内存可见?没有 volatile 一定不可见吗?》
- 内存不够怎么办?