Chinaunix

标题: 运行java程序,分配内存问题。 [打印本页]

作者: chhsf    时间: 2013-01-31 15:17
标题: 运行java程序,分配内存问题。
我是一个新手。我的linux是Centos5.5 64bit的,内存是16G的。我在运行一个jar文件的时候,是这样写的: java -Xmx3000 -jar server.jar.没有问题一切正常;但是当我想提高内存时候  -Xmx8000,系统报错,不允许。不知道是什么原因。很苦恼啊。有那么多内存缺用不了,只能用3G。哪位大侠帮忙给解释一下。

还有我用top命令时,显示Mem:16426616k total,  13378103k used.为什么是这样呢?我明明只运行了一个jar文件,申请了3G,占用2.6G,即便是加上系统的服务软件,也不会很多。怎么会使用13G多呢?
作者: 方兆国    时间: 2013-01-31 20:46
chhsf 发表于 2013-01-31 15:17
我是一个新手。我的linux是Centos5.5 64bit的,内存是16G的。我在运行一个jar文件的时候,是这样写的: jav ...
感觉有些像是32bit的限制,jdk是64bit的?还是Java有这个限制?
作者: chhsf    时间: 2013-01-31 22:17
恩,jdk是32位的,有可能是这个引起的。我回头装一个64位jdk。但百思不得其解的是 :top命令时,显示Mem:16426616k total,  13378103k used. 为什么是这样呢?,我的进程里,只有我写的java程序,怎么会占用13G多呢?
作者: starxing    时间: 2013-02-01 16:23
top 显示的系统内存使用量。包括buffers/cache
作者: owenhappy    时间: 2013-02-03 17:38
linux操作系统的内存使用方式是 尽可能多的catch住内存, 所以虽然显示用了, 但是其实是操作系统缓存。 和window架构不一样,

你可以百度下 linux内存机制。 regard.
作者: chhsf    时间: 2013-03-19 14:27
非常感谢:wink:




欢迎光临 Chinaunix (http://bbs.chinaunix.net/) Powered by Discuz! X3.2