figure_li 2011-03-10 20:54
浏览 275
已采纳

centos128m 内存就jdk只能用4m?

我有一个 专用主机 拿来玩的 。内存只有128m

顺利安装完jdk 后,查看jdk 是否安装正确
java -version

然后就是 报错 :

[root@duoduo ~]# java -version
Error occurred during initialization of VM
Could not reserve enough space for object heap
Could not create the Java virtual machine.
[root@duoduo ~]#

自己想可能是 默认参数 中 设置的内存过大 那样我自己设置个小点的启动参数
java -Xmx8m -version
Error occurred during initialization of VM
java.lang.OutOfMemoryError: unable to create new native thread
at java.lang.Thread.start0(Native Method)
at java.lang.Thread.start(Thread.java:640)
at java.lang.ref.Finalizer.(Finalizer.java:176)
8m 还不行!
java -Xmx4m -version
java version "1.6.0_24"
Java(TM) SE Runtime Environment (build 1.6.0_24-b07)
Java HotSpot(TM) Client VM (build 19.1-b02, mixed mode)
[root@duoduo ~]#
4m 正常了!
看看 还有多少内存可用
free
total used free shared buffers cached
Mem: 131072 12652 118420 0 0 0
-/+ buffers/cache: 12652 118420
Swap: 0

可见内存 是没有被其他程序占用的

然后 是不是 系统本身有限制
ulimit -a
core file size (blocks, -c) 0
data seg size (kbytes, -d) unlimited
scheduling priority (-e) 0
file size (blocks, -f) unlimited
pending signals (-i) 71680
max locked memory (kbytes, -l) 32
max memory size (kbytes, -m) unlimited
open files (-n) 1024
pipe size (512 bytes, -p) 8
POSIX message queues (bytes, -q) 819200
real-time priority (-r) 0
stack size (kbytes, -s) 10240
cpu time (seconds, -t) unlimited
max user processes (-u) 71680
virtual memory (kbytes, -v) unlimited
file locks (-x) unlimited

max memory size 已经设过不限制 stack size 也设置过1024 和10240 都 一样不行

没有办法了 不知道到底是什么原因 难道128m 就只能用4m!
现在看我 win7 4g 内存的系统
C:\Users\Lenovo>java -Xmx1024m -version
java version "1.6.0_24"
Java(TM) SE Runtime Environment (build 1.6.0_24-b07)
Java HotSpot(TM) Client VM (build 19.1-b02, mixed mode)

C:\Users\Lenovo>

  • 写回答

4条回答 默认 最新

  • deepfuture 2011-03-12 10:37
    关注

    如果你用虚拟机,更加要用netbsd,只要流量和压力大,你的centos平均每个星期就要重启一次,而BSD系列的每个季度才重新启动一次

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(3条)

报告相同问题?

悬赏问题

  • ¥15 扩散模型sd.webui使用时报错“Nonetype”
  • ¥15 stm32流水灯+呼吸灯+外部中断按键
  • ¥15 将二维数组,按照假设的规定,如0/1/0 == "4",把对应列位置写成一个字符并打印输出该字符
  • ¥15 NX MCD仿真与博途通讯不了啥情况
  • ¥15 win11家庭中文版安装docker遇到Hyper-V启用失败解决办法整理
  • ¥15 gradio的web端页面格式不对的问题
  • ¥15 求大家看看Nonce如何配置
  • ¥15 Matlab怎么求解含参的二重积分?
  • ¥15 苹果手机突然连不上wifi了?
  • ¥15 cgictest.cgi文件无法访问