手工释放服务器的swap分区缓存
| 时间 | 恢复时间 | 状态 | 信息 | 主机 | 问题 • 严重性 | 持续时间 | 确认 | 动作 | ||
|---|---|---|---|---|---|---|---|---|---|---|
| 2019-03-21 20:29:30 | 09:51:30 | -ai-代理 | Lack of free swap space on ai-代理-73 |
监控显示swap分区溢出,需要手动清理释放swap分区占用的内存。
/proc/sys/vm/drop_caches 该配置文件记录释放缓存文件的记录
0-不释放
1-不释放页缓存
2-释放dentries和inodes
3-释放所有缓存
首先用sync指令,将所有未写的系统缓冲区写到磁盘中,包含已修改的inode,已延迟的块I/O和读写映射文件,否则在释放缓存的过程中,可能会丢失未保存的文件
接下来设置参数: echo 3 > /proc/sys/vm/drop_caches
cat /proc/sys/vm/drop_caches
若遇到 无法分配内存的情况:
[root@localhost /]# sudo swapoff -a
swapoff: /dev/dm-1: swapoff failed: Cannot allocate memory
查看哪个程序占用内存比较大的,将该程序重启即恢复

通过查看知晓php-fpm 程序占用内存较大,将其重启后内存占用情况即恢复。

swapon -s 查看swap分区的挂载点

然后swapoff /dev/dm-1 停掉swap分区,然后再进行打开
swapon -a
我们的swap分区内存已经成功释放到了实际内存当中。
如果出现无法释放掉swap占用的内存的情况下 可以通过如下方法解决
[root@localhost felix]# swapoff /dev/dm-1
swapoff: /dev/dm-1: swapoff failed: Cannot allocate memory
先用free -mh 查看内存占用情况
netstat -ntlup 查看哪些程序在运行
top命令查看内存占用较高的程序。
以我的例子来分析,得出,nginx和php程序占用的内存较多,
可以重启下相关程序,释放下缓存
service php-fpm restart
/usr/local/nginx/sbin/nginx -s reload
然后发现内存释放掉了,

手工释放服务器的swap分区缓存的更多相关文章
- 腾讯云CentOS7.4服务器添加swap分区
自己的腾讯云服务器搭建的zabbix监控中,提示Lack of free swap space 腾讯的官方说明在这: https://cloud.tencent.com/document/produc ...
- 阿里云服务器创建swap分区
阿里云服务器使用了4核8G内存配置,但最近由于jenkins构建时执行gradle打包安卓应用,导致即时的内存严重不足,线上应用长时间无法访问. 执行free命令才发现,swap分区一直是没有创建的. ...
- Linux学习24-腾讯云服务器开启swap分区
前言 最近有小伙伴买的腾讯云的1核1G入门级服务器,发现部署的服务多了后,会自动停掉一些docker的的容器. 新买的腾讯云主机没有提供Swap分区,理由是由于主机经常因为内存使用率过高,频繁使用Sw ...
- 给阿里云主机添加swap分区,解决问题:c++: internal compiler error: Killed (program cc1plus)
前言 今天安装spdlog,一个快速得C++日志库,按照文档步骤,不料出现了一堆错误,像c++: internal compiler error: Killed (program cc1plus)等一 ...
- 阿里云服务器linux主机如何添加swap分区
为什么要添加Swap分区?swap分区,即交换区,作用为:当系统的物理内存不够用的时候,就需要将物理内存中的一部分空间释放出来,以供当前运行的程序使用.那些被释放的空间可能来自一些很长时间没有什么操作 ...
- CentOS下SWAP分区建立及释放内存详解
方法一: 一.查看系统当前的分区情况: >free -m 二.创建用于交换分区的文件: >dd if=/dev/zero of=/whatever/swap bs=block_size ( ...
- 通过开启swap分区来解决小内存阿里云服务器的内存瓶颈
swap分区大小设置 阿里云的linux云服务器默认是没有启用swap分区(交换分区)的.一般情况下swapswap分区的大小可以参考以下规则进行设定: 内存大小 swap大小 MEM_SIZE &l ...
- linux内存优化之手工释放linux内存
先介绍下free命令 Linux free命令用于显示内存状态. free指令会显示内存的使用情况,包括实体内存,虚拟的交换文件内存,共享内存区段,以及系统核心使用的缓冲区等. 语法: free [- ...
- MySQL针对Swap分区的运维注意点
Linux有很多很好的内存.IO调度机制,但是并不会适用于所有场景.对于运维人员来说,Linux比较让人头疼的一个地方是:它不会因为MySQL很重要就避免将分配给MySQL的地址空间映射到swap上. ...
随机推荐
- go 学习笔记之走进Goland编辑器
工欲善其事必先利其器,命令行工具虽然能够在一定程度上满足基本操作的需求,但实际工作中总不能一直使用命令行工具进行编码操作吧? 学习 Go 语言同样如此,为此需要寻找一个强大的 IDE 集成环境帮助我们 ...
- cdh5-MariaDB 配置(暂未排版)
在多数分布MariaDB的设施默认设置使用保守的缓冲区的大小和内存使用. 使用保守的缓冲区大小和内存使用率 Cloudera的数据库管理服务器,监控活动,报告管理,Cloudera 导航,Hive 的 ...
- excel 导入 下载模板 demo
import org.apache.commons.beanutils.PropertyUtils;import org.apache.commons.lang3.StringUtils;import ...
- Spring Boot 修改静态资源一定要重启项目才会生效吗?未必!
回顾热部署 Spring Boot 中的热部署相信大家都用过吧,只需要添加 spring-boot-devtools 依赖就可以轻松实现热部署.Spring Boot 中热部署最最关键的原理就是两个不 ...
- Java虚拟机学习笔记(三)--- 生存还是死亡
即便是可达性分析中不可达的对象,也不代表该对象一定被回收,一个对象被“宣判死刑”需要经过两次标记,第一次是被可达性算法标记为不可用,然后进入第二次筛选,筛选条件是对象是否有必要执行finalize() ...
- JavaScript数据结构——队列的实现与应用
队列与栈不同,它遵从先进先出(FIFO——First In First Out)原则,新添加的元素排在队列的尾部,元素只能从队列头部移除. 我们在前一篇文章中描述了如何用JavaScript来实现栈这 ...
- Java学习|Exception和Error有什么区别?
典型回答: Exception和Error都继承了Throwable类,java中只有Throwable类型的实例才能被Throw(抛出)或者catch(捕获). Exceptio ...
- (一)c#Winform自定义控件-基类控件
前提 入行已经7,8年了,一直想做一套漂亮点的自定义控件,于是就有了本系列文章. 开源地址:https://gitee.com/kwwwvagaa/net_winform_custom_control ...
- 常用linux的命令
常用但是容易忘记的命令 查看java项目的进程 ps -ef | grep java jps 根据进程查询端口 lsof -i | grep pid netstat -nap | grep pid p ...
- 如果有人问你 Dubbo 中注册中心工作原理,就把这篇文章给他
注册中心作用 开篇首先想思考一个问题,没有注册中心 Dubbo 还能玩下去吗? 当然可以,只要知道服务提供者地址相关信息,消费者配置之后就可以调用.如果只有几个服务,这么玩当然没问题.但是生产服务动辄 ...