写在前面
- 整理一些Linux内存调优的笔记,分享给小伙伴
2025年08月16日
Garuda Linux 是一个基于 Arch Linux 的现代化、注重性能与美观的桌面操作系统。它面向对性能有较高要求的用户,尤其受到 Linux 爱好者、游戏玩家和高级用户的欢迎。它于 2020 年发布,并因其美观的外观、可靠的性能和用户友好的环境而在短时间内获得了良好的声誉。它具有令人愉悦的开箱即用体验以及一组最佳程序和设置。
2025年08月16日
oom情况发生一般都是因为内存使用过高导致,最好是走查代码分析出内存占用高的具体原因。 此篇文章说明什么情况下会出现oom,以及如何从运维层面暂缓oom发生。真正解决内存占用还是需要分析代码以及java 堆栈. 不想了解细节,参见最后的java内存配置
2025年08月16日
CachyOS 推出了最新 2025 年 7 月快照(ISO 7),这次更新聚焦安装体验与游戏性能,亮点满满:
2025年08月16日
public class StackOverflowErrorDemo {
public static void main(String[] args) {
javaKeeper();
}
private static void javaKeeper() {
javaKeeper();
}
}
2025年08月16日
最近我一直在做性能优化,对一个单机应用做性能优化。主要是涉及到解析和导入导出相关的业务。
大致说一下这个单机应用干嘛的:制作票样,类似于答题卡。发给某些人填写,然后通过单机python图像识别存到数据库里面,在我们单机平台进行各种分析汇总数据。
前面呢已经优化了两块,一个是解析(目前性能提升了8倍,后续再优化),一个是汇总(性能提升了10倍+,后续再优化)。
2025年08月16日
Memory Overcommit的意思是操作系统承诺给进程的内存大小超过了实际可用的内存。一个保守的操作系统不会允许memory overcommit,有多少就分配多少,再申请就没有了,这其实有些浪费内存,因为进程实际使用到的内存往往比申请的内存要少,比如某个进程malloc()了200MB内存,但实际上只用到了100MB,按照UNIX/Linux的算法,物理内存页的分配发生在使用的瞬间,而不是在申请的瞬间,也就是说未用到的100MB内存根本就没有分配,这100MB内存就闲置了。下面这个概念很重要,是理解memory overcommit的关键:commit(或overcommit)针对的是内存申请,内存申请不等于内存分配,内存只在实际用到的时候才分配。