我在书上读到过一个 linux 的线程大概占 8M 内存。 然而从一些人那里得到类似的描述说,其实没有那么多,有说法的线程的内核栈是 8k,还读到过下面的说法:
“ linux 的栈是通过缺页来分配内存的,不是所有栈地址空间都分配了内存。因此,8M 是最大消耗,实际的内存消耗只会略大于实际需要的内存(内部损耗,每个在 4k 以内)。”
读到这些我就有点懵了,所以想请教两个问题 1.一个 linux 线程到底占有多大内存? 2.java 中的线程是不是也有类似的说法?默认说一个线程 1M,实际内存没有那么大?
这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。
V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。
V2EX is a community of developers, designers and creative people.