JVM-Oracle HotSpot VM
hsperfdata_$USER目录 - Oracle HotSpot VM
hsperfdata_$USER
目录用于存储Oracle HotSpot VM性能监控。若运行Java应用程序时,就会在系统默认的临时目录【如:Linux:(/tmp)
】下生成该文件夹(即:hsperfdata_$USER
),其命名通常是以运行Java应用的当前用户名结尾,它包含以Java应用进程ID为名称的数据文件。
Java程序运行出现问题可能原因
- 临时目录被修改成不可写权限
- 可以使用系统变量
java.io.tmpdir
修改为其他目录,此时,无法在系统默认临时目录上创建hsperfdata_$USER
文件夹。- 即使
hsperfdata_$USER
目录无法创建,也不影响Java程序正常运行,只是无法对该JVM进行性能监控。例如,在$JAVA_HOME/bin
目录下,有很多自带的JVM性能监控的小工具,像jps
,jstat
等均无法正常运行,因为这些工具需要访问该目录下的数据。
- 即使
- 但是,如果
java.io.tmpdir
指向的目录不可写时,Java应用就可能启动不了。
- 可以使用系统变量
- 临时目录空间已满
控制 Oracle HotSpot VM 特性的开关
通过运行时选项-XX:[+,-]UsePerfData
控制开启或关闭Oracle HotSpot VM性能监控特性。默认开启该特性。
- 开启: -XX:+UsePerfData
- 关闭: -XX:-UsePerfData