其实我想表达的是作为代码的开发者,应该对自己的应用场景和数据规模有预期。
应该给出运行环境建议,并避免用完所有资源导致的问题。
作为开发者,不应该假定资源是无限的。
【 在 lvsoft 的大作中提到: 】
: 现代os对于内存这个概念是很模糊的。不如说现代os压根没有内存这个概念,你所谓的内存,其形式更像是缓存。
: 现代os,malloc基本就只是一个声明。哪怕你只剩下几M内存了,你依然可以malloc 10tb内存,malloc基本上是永远成功的,不会返回oom的错误。只有真正使用内存的时候才发生分配。且有各种share的情况,以及被swap出去(哪怕内存充足,使用率低一样会被swap出去),甚至压缩掉等等的情况。
: 所以现代os,要计算某个程序到底用了多少物理内存,其实很难算清的,是一笔糊涂账。
: ...................
--
FROM 110.229.106.*