当前位置: 技术问答>linux和unix
程序在不同的平台占用内存不一样
来源: 互联网 发布时间:2016-03-29
本文导语: 一个多线程的程序,接受socket连接并且转化接受的数据,生成XML文件。这个程序在sun的N440上占用内存700M, 但是在sun的blade上占用1G的内存,有可能是什么原因? 谢谢。 | 假设你的程序的名...
一个多线程的程序,接受socket连接并且转化接受的数据,生成XML文件。这个程序在sun的N440上占用内存700M, 但是在sun的blade上占用1G的内存,有可能是什么原因? 谢谢。
|
假设你的程序的名字为xxx:
# pgrep xxx
1893
# pmap 1893
...
...
看看不同平台上面什么段的内存变多了。
# pgrep xxx
1893
# pmap 1893
...
...
看看不同平台上面什么段的内存变多了。
|
哦,anon段是没有任何关联的内存段,估计是内核为了提高性能,而cache的一些磁盘文件。
这对应用程序来说是有好处的,不要担心。现代的操作提供都会提供更好的机制来减少访问物理磁盘的频率的。
这对应用程序来说是有好处的,不要担心。现代的操作提供都会提供更好的机制来减少访问物理磁盘的频率的。
|
关注
|
肯定不是服务器的原因。我也在考虑这个问题。
anon肯定不是cache的文件,这一点是可以肯定的,一般来说,anon是堆栈之类动态分配的内存,但pmap中有了[heap]和[stack],[anon]和[heap]有什么区别呢?
anon肯定不是cache的文件,这一点是可以肯定的,一般来说,anon是堆栈之类动态分配的内存,但pmap中有了[heap]和[stack],[anon]和[heap]有什么区别呢?
|
关注......