电脑内存都被谁占了

222 天前
 AoEiuV020JP
我真的怀疑有没有什么病毒隐藏了进程信息,
我电脑 24G 内存,动不动就炸,已提交内存总在 22G 以上,
尤其最近关闭了虚拟内存,实在是公司电脑硬盘太拉胯,一直用虚拟内存就一直卡,
关了虚拟内存就反复炸内存, 任务管理器里永远找不到内存占用高的,虚拟机和 wsl 也没在用,
难道真的这几十一两百兆能吃满 24G ?
10594 次点击
所在节点    程序员
87 条回复
QlanQ
221 天前
内存这块,最清晰的是 Linux ,其他的都看不懂,Mac 更是垃圾
qiany
221 天前
虚拟内存不能关
JensenQian
221 天前
8400 啊,d4 条子一堆便宜货
你多整几个不就完事了
DefoliationM
221 天前
jvm 占的,有多少吃多少
YouMoeYi
221 天前
我这个电脑 16G 更痛苦, 我开电脑 6G, 刚开个 Chrome 占 4.5G(我 pin 了大概 15 个标签是没做完, 没看完的东西还有些常用网站 然后开个 VS Code+前端开发服务器 3G, 然后我 Chrome 开多点标签然后再开个 VScode 就要崩溃了 只能过几天加个内存; 但是很奇怪的是我另一台电脑感觉就不会占这么多内存
xmumiffy
221 天前
我这虚拟机( hyperv )有内存泄漏,任务管理器上显示一个 G ,实际会用 3 40G 。重启 hyperv 就释放了
xw
221 天前
Chrome 换成 Firefox 试试
kenvix
221 天前
@AoEiuV020JP #8 这点内存还敢关分页文件,我实在是难以评价,我 64G 都不敢关
D6IIx
221 天前
@YouMoeYi 帮你省钱,chrome 的锅,加内存没用
littiefish
221 天前
@xw firefox 以前还可以,现在一个球样
ON9
221 天前
我 16g ,一直不关机一个月也没有问题,但是一个月后关闭所有程序,会发现内存占用很高,应该就是内存泄漏了。但是这个时候我疯狂开网页,又不会卡和崩溃,就很神奇,win10ltsc
Levox
221 天前
@kenvix 我 16G 都敢关。OOM 崩溃了就重启.jpg
ShadowPower
221 天前
感觉 2021 以后的 JetBrains 系 IDE 都非常吃内存,稍微大一点的项目仅 IDE 本身就可以用 5GB ,超大项目+装了很多插件往往都要 10GB 以上了。
里面还塞了一个 Chromium ,现在有些插件可以用 Web 技术来做界面了。

想起当年用 2017 版的时候,如果用 idea.exe 而不是 idea64.exe (用 32 位 JRE ),打开项目只需要 500~700MB 内存,只有 4~8GB 内存的电脑也能凑合用。如果用 32 位 JDK 跑项目那就更省了。

2019 之后大概需要 2GB 了。

之前装了个 Codeium 插件,自带一个 lsp server ,我发现只要项目够大,它的独立进程都可以吃 2GB 内存。

还有大型 Rust 项目,不用 JetBrains ,但是用 rust-analyzer ,打开一个源码,仅 rust-analyzer 本身就用 1.5GB 。



对了,我的 CPU 有 16 线程,因此有些工具为了充分利用 CPU 性能,开 16 个独立线程/进程跑不同任务。内存需求也是成倍上升……

我觉得,如今要想用得舒服至少要 32GB ,要想 99.9%的时间都忘记内存容量有限制则需要 64GB~128GB 。


把开发工具降级回远古版本就很省内存了,只是用起来感觉效率低了不少。
msg7086
221 天前
提交大小「偷」的是你的虚拟内存。系统默认开着虚拟内存,他用虚拟内存,当然不需要你去关心使用量。
你现在把虚拟内存关掉了,当然会出问题了。
Windows 内核是禁止超量申请内存的,一个进程申请 4G 多,你要么给 4G 物理内存,要么给 4G 虚拟内存。
Java 是出了名的吃内存,32 位的时候就一个进程吃 2G 了,64 位能吃更多。都那么多年了不会还有人不知道吧。
msg7086
221 天前
程序要跑起来,你总得给他个地方跑,开虚拟内存,那就是把多余的内存分页扔进硬盘里,虽然慢点,但至少还能跑。关了虚拟内存,程序连跑的地方都没有了。
要做 Java 我觉得 32G 是起步。我司的笔记本板载 8G ,插槽我换了一根 32 的,40G 算是差强人意,有条件的话还是上 64 比较好一些。我自己的开发机笔记本就是 32+32 了。
w568w
221 天前
稍微了解一下操作系统原理吧,避免几个误区:

1. 「已提交」和内存占用没有半毛钱关系,也不是程序「恶意偷内存」。哪怕你的已提交显示 1 TB ,物理内存只有 8 GB ,也完全不能代表你的电脑内存满了或者没满。「已提交」的唯一意义是告诉你「所有应用宣告申请了这么多内存」,但「申请」不等于「用」:很多使用自己的用户空间内存分配器的程序会直接从系统那里「申请」过来一大把内存(甚至比实际物理内存还大),然后慢慢用。真正的内存占用是指程序「用」的部分。这部分你应该通过 Resident Set 或 Working Set 来估算;
2. 虚拟内存是 Windows 滥用的错误术语之一。虚拟内存本身是操作系统的基本概念,指为每个进程都需要分配一个独立的地址空间,这个地址空间映射到物理内存页面中。你说的这项能关掉的功能应该是指交换空间 / 分页文件( Swap )。
2. 交换空间关掉并不能让系统在高负载下变快。相反,我不推荐在任何场景下关掉。它的目的是为了让匿名页面和文件后备页面具有同等的交换地位,都能够在内存不足时释放。关掉后,只有后者能释放,所以等于是在高负载下系统能强制释放内存的手段变少了一个,只会让系统更不稳定。
mikeluckybiy
221 天前
@wxf666 win7 也有,同一个系统 iso ,一台本子重装了 win7 后有内存泄漏什么都不开内存占用会越来越多,另外一台就是完全正常的,怀疑和 NVIDIA 或者其它什么驱动有关。
cleanery
221 天前
@mikeluckybiy #57 我的只会发生在 长时间的待机/休眠 后
每次电脑休眠再唤醒后, 已提交就多几个 G, 每次都是
shenxian996
221 天前
开虚拟内存,这个不能关,具体原因自己百度,
换 ssd ,加内存条,
wanguorui123
221 天前
java + chromium = 内存黑洞

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/1032942

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX