linux 运维面试题
tomcat 的内存溢出是由什么导致? 解: 1.OutOfMemoryError : Java heap space 2.OutOfMemoryError : PermGen space 3.OutOfMemoryError : unable to create new native thread. Tomcat 内存溢出解决方案 对于前两种情况,在应用本身没有内存泄露的情况下可以用设置 tomcat jvm 参数来解决。( -Xms -Xmx -XX : PermSize -XX : MaxPermSize ) 最后一种可能需要调整操作系统和 tomcat jvm 参数同时调整才能达到目的。 第一种:是堆溢出。 但堆的大小受下面三方面影响: 1. 相关操作系统的数据模型( 32-bt 还是 64-bit )限制;( 32 位系统下,一般限制在 1.5G~2G ;我在 2003 server 系统下(物理内存: 4G 和 6G , jdk : 1.6 )测试 1612M , 64 位操作系统对内存无限制。) 2. 系统的可用虚拟内存限制; 3. 系统的可用物理内存限制。 其初始空间 ( 即 -Xms) 是物理内存的 1/64 ,最大空间 (-Xmx) 是物理内存的 1/4 。可以利用 JVM 提供的 -Xmn -Xms -Xmx