尝试将Apache Tomcat端口从8080更改为80时出现内存错误

我试图让我的VPS上安装的Tomcat运行在端口80而不是8080,但是当我编辑Tomcat目录中的server.xml文件的设置,并尝试重新启动Tomcat时,我得到了这个错误:

2012年1月23日上午9:55:46 org.apache.coyote.http11.Http11Protocol init SEVERE:初始化端点java.net.SocketException错误:无法在java.net.PlainSocketImpl.socketBind(Native方法)上分配内存在java.net .AbstractPlainSocketImpl.bind(AbstractPlainSocketImpl.java:353)at java.net.ServerSocket.Bind(ServerSocket.java:336)at java.net.ServerSocket。(ServerSocket.java:202)at java.net.ServerSocket。(ServerSocket。 java:158)org.apache.tomcat.util.net.DefaultServerSocketFactory.createSocket(DefaultServerSocketFactory.java:50)at org.apache.tomcat.util.net.JIoEndpoint.init(JIoEndpoint.java:538)at org.apache .coyote.http11.Http11Protocol.init(Http11Protocol.java:176)at org.apache.catalina.connector.Connector.initialize(Connector.java:1014)at org.apache.catalina.core.StandardService.initialize(StandardService.java :680)at org.apache.catalina.core.StandardServer.initialize(StandardServer.java:795)at org.apache.catalina.startup.Catalina.load(Catalina.java:524)at org.apache.catal in..startup.Catalina.load(Catalina.java:548)at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)at sun.reflect.DelegatingMethodAccessorImpl.invoke( DelegatingMethodAccessorImpl.java:43)在org.apache.catalina.startup.Bootstrap.load(Bootstrap.java:261)org.apache.catalina.startup(java.lang.reflect.Method.invoke(Method.java:616) .Bootstrap.main(Bootstrap.java:413)2012年1月23日上午9:55:46 org.apache.catalina.startup.Catalina加载SEVERE:Catalina.start LifecycleException:协议处理程序初始化失败:java.net.SocketException:无法在org.apache.catalina.core.StandardServer的org.apache.catalina.core.StandardService.initialize(StandardService.java:680)处的org.apache.catalina.connector.Connector.initialize(Connector.java:1016)处分配内存。在org.apache.catalina.startup.Catalina.lt(Catalina.java:524)上初始化(StandardServer.java:795) oad(Catalina.java:548)at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)在org.apache.catalina.startup.Bootstrap.load(Bootstrap.java:261)org.apache.catalina.startup.Bootstrap.main(Bootstrap)上的java.lang.reflect.Method.invoke(Method.java:616)的.java:413)

不太确定这是什么意思…这是否意味着我没有足够的内存? 有没有其他的方法让Tomcat在80端口上运行?

编辑:这是我inputfree -m时的输出:

total used free shared buffers cached Mem: 1024 748 275 0 0 0 -/+ buffers/cache: 748 275 Swap: 0 0 0 

我在OpenVZ上使用authbind在端口80上运行时遇到了与Tomcat相同的问题。我通过从OpenJDK切换到Sun Java来解决此问题。