Chinaunix首页 | 论坛 | 博客
  • 博客访问: 1210823
  • 博文数量: 259
  • 博客积分: 10
  • 博客等级: 民兵
  • 技术积分: 2518
  • 用 户 组: 普通用户
  • 注册时间: 2012-10-13 16:12
个人简介

科技改变世界,技术改变人生。

文章分类

全部博文(259)

分类: 系统运维

2015-11-06 18:00:25

#jps  报错了

Java HotSpot(TM) 64-Bit Server VM warning:
Insufficient space for shared memory file:    
/tmp/hsperfdata_root/15746 Try using the -Djava.io.tmpdir= option to select an alternate temp location.

df -h
发现某一个满的分区

清理一些日志文件 恢复正常

起namenode时,hadoop报错:

Java HotSpot(TM) 64-Bit Server VM warning: Insufficient space for shared memory file:
/tmp/hsperfdata_work/23408
Try using the -Djava.io.tmpdir= option to select an alternate temp location.

错误解决后,搜索学习这个 /tmp/hsperfdata_$user/$number的作用:
That directory is part of a Java performance counter.

这个文件存的应该是JVM进程当前的一些性能参数(或者说运行信息)
jvmstat会生成一个目录文件叫hsperfdata_username,那这个目录文件在哪里呢,默认的是生成在 java.io.tmpdir目录下, java.io.tmpdir在linux下默认是/tmp下,故默认开启了jvm monitor的功能以后就会在/tmp目录下生成一个目录叫 hsperfdata_username ,然后这个目录中会有一个pid文件,可以利用strings查看里面的文件内容,一般就是jvm的进程信息而已。

而jps、jconsole、jvisualvm等工具的数据来源就是这个文件(/tmp/hsperfdata_userName/pid)。所以当该文件不存在或是无法读取时就会出现jps无法查看该进程号,jconsole无法监控等问题

/tmp/hsperfdata_userName/pid文件会在对应java进程退出后被清除。如果java进程非正常退出(如kill -9),那么pid文件会被保留,直到执行一次java命令或是加载了jvm程序的命令(如jps、javac、jstat),会将所有无用的pid文件都清除掉
阅读(4098) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~