【发布时间】:2015-10-29 11:21:46
【问题描述】:
很长一段时间以来,我一直在观察编程中的一些奇怪现象,因为在 Linux 系统上默认启用了过量使用。
在我看来,几乎每个高级应用程序(例如,用 Java、Python 或 C# 等高级编程语言编写的应用程序,包括一些用 C++ 编写的使用 Qt 等大型库的桌面应用程序)都使用大量虚拟操作记忆。例如,Web 浏览器分配 20GB 内存而仅使用 300MB 是正常的。或者对于 dektop 环境,mysql 服务器,几乎每个 java 或 mono 应用程序等,分配数十 GB 的 RAM。
为什么会这样?重点是什么?这有什么好处吗?
我注意到,当我在 linux 中禁用 overcommit 时,如果桌面系统实际运行大量此类应用程序,系统会变得不可用,因为它甚至无法正常启动。
【问题讨论】:
标签: linux memory memory-management