linux 手动释放内存

news/2025/1/9 17:55:05/文章来源:https://www.cnblogs.com/likingzi/p/18662633

在 Linux 系统中,内存管理通常由系统自动处理,但在某些情况下,手动释放内存可能是必要的。例如,当业务应用比较繁忙时会频繁存取文件,物理内存会被缓存大量占用,有时会出现内存不足的情况发生,甚至会导致系统性能下降。此时可主动在业务闲时手动释放内存。

一、首先查看当前内存使用情况

使用 free -m 命令查看,输出结果包括总内存、已使用内存、空闲内存、共享内存、缓冲区和缓存等信息。

二、然后执行如下步骤手动释放内存

■ 查看当前 drop_caches 的值

cat /proc/sys/vm/drop_caches
可能会提示权限不足,默认值为 0,表示不释放缓存

■ 运行 sync 命令

sync
该命令将所有未写的系统缓冲区写到磁盘中,确保文件系统的完整性

■ 手动释放内存

echo 1 > /proc/sys/vm/drop_caches
drop_caches 是 0-3 之间的数字,代表不同的含义:
0:不释放(系统默认值)
1:释放页缓存
2:释放 dentries 和 inodes
3:释放所有缓存

■ 还原配置

echo 0 > /proc/sys/vm/drop_caches
释放完内存后,将 drop_caches 的值改回 0,让系统重新自动分配内存

三、注意事项

缓存机制

Linux 的缓存机制非常先进,通常不需要手动释放内存。缓存包括 dentry(用于加速文件路径名到 inode 的转换)、Buffer Cache(针对磁盘块的读写)和 Page Cache(针对文件 inode 的读写)

性能影响

频繁手动释放内存可能会影响系统性能,建议在内存不足、应用获取不到可用内存或发生 OOM 错误时,首先分析应用方面的原因

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/866652.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

htb Escape

扫描端口 nmap -sC -sV -p- -v -Pn -T4 10.10.11.202 Host is up (0.39s latency). Not shown: 65515 filtered tcp ports (no-response) PORT STATE SERVICE VERSION 53/tcp open domain Simple DNS Plus 88/tcp open kerberos-sec Microsoft Wind…

2025年销售攻略

随着2024年的落幕,我们迎来了全新的2025年,新一轮的业绩争夺战已经悄然打响。面对新的挑战与机遇,我们该如何在销售领域脱颖而出,实现业绩的稳步增长呢? 一、明确目标,勇往直前 销售工作离不开明确的目标。设定清晰、可行的销售目标,并将其分解为具体的时间节点和任务,…

杭州铭师堂的云原生升级实践

杭州铭师堂,是一个致力于为人的全面发展而服务的在线教育品牌。杭州铭师堂秉持“用互联网改变教育,让中国人都有好书读”的使命,致力于用“互联网+教育”的科技手段让更多的孩子都能享有优质的教育,促进他们的全面成长。作者:升学e网通研发部基建团队 公司介绍 杭州铭师堂…

新年餐饮业营销攻略:数据驱动,精准营销!

餐饮业借助项目管理软件开展新年营销,可以更加高效、精准地管理营销活动,提升销售业绩和用户体验。通过选择合适的软件工具、制定详细的营销计划、设置可视化的任务列表和进度跟踪、促进团队协作和沟通、收集和分析数据以优化营销策略、评估和调整项目计划以及总结经验和教训…

解锁新应用:探索GPU扩展是如何提升渲染农场的工作效率

联瑞GPU扩展方案在渲染农场的应用,是在原有计算机设备的基础上增加GPU的数量,不用额外购买GPU服务器,有效的帮助企业降本增效渲染农场是一种基于计算机GPU集群的渲染解决方案,主要用于分布式渲染。它将渲染任务分发到多个计算机(渲染节点)上,通过GPU并行计算和协同工作,实…

Task实战

一:场景描述 在一个文件下查找js文件中指定的关键字,并记录完成查找所需时间。完成此任务使用了3种写法,分别为: 1.仅使用一个task,在任务中进行for循环,循环调用异步业务处理方法,只利用一个后台线程进行业务处理。2.先查找出文件路径,然后对每一个文件路径创建一个ta…

多网卡配置bond模式4(Ubuntu22.04)

编辑网卡配置文件 vim /etc/netpla/00-installer-config.yaml示例一:示例二:

中考英语优秀范文-013 Computer in my life 电脑在我的生活中

中考英语优秀范文-013 Computer in my life 电脑在我的生活中 1 写作要求 假设某中学生英文报开展关于计算机与学生生活的征文活动,请你根据下表所提示的要点,以Computer in my life为题,用英语为该报写一篇短文,简述计算机在你生活中的用途,并就计算机对你生活的影响谈谈…

BAPI

预制发票:BAPI_INCOMINGINVOICE_PARKDATA: ls_header TYPE bapi_incinv_create_header,lt_itemdata TYPE TABLE OF bapi_incinv_create_item,ls_itemdata TYPE bapi_incinv_create_item,lt_taxdata TYPE TABLE OF bapi_incinv_create_tax,ls_taxdata TYPE bapi_…

车云远程诊断系统 - DRS

INTEWORK-DRS(Diagnostic Remote-Service System)是由经纬恒润自主研发的一款基于车云远程的诊断解决方案产品,具备整车级或单ECU级的如参数读写、故障读清、例程标定、动作测试和程序升级等传统常见诊断功能,并且支持基于云任务的车端主动诊断如车辆故障主动预警、关键数据…

Kubernetes集群运维生产常见问题解析与解决方案

前言:在Kubernetes集群的日常运维工作中,我们难免会遇到各种各样的问题。这些问题可能涉及到集群的部署、配置、监控、性能优化等多个方面。为了解决这些问题,我们需要不断地学习和积累经验。在这里,我打算收集并整理一些网友曾经提出的问题,并提供相应的解析和解决方案,…

Vue-i18n 多语言中包含特殊字符出现异常Message compilation error: Invalid linked format

异常: 解决方法 方式一: 翻译文件中,将含有特殊字符的字符串使用“”双引号包裹,特殊字符外加花括号{},且用单引号包裹,如“{‘@’}”Message:"也可以通过使用最新版xxxx{@}xxxx扫描右侧二维码获取"方式二: 使用占位符Message:"也可以通过使用最新版xxxx…