当前位置: 首页 > 知识库问答 >
问题:

java 命令创建奇怪的 PID 日志文件

滕鸿畴
2023-03-14

我一直在使用默认安装java版本的Amazon Linux EC2,如下所示:

java version "1.7.0_75"
OpenJDK Runtime Environment (amzn-2.5.4.0.53.amzn1-x86_64 u75-b13)
OpenJDK 64-Bit Server VM (build 24.75-b04, mixed mode)

每当运行Java独立程序(即你好世界)时,如下所示

java HelloWorld

它自动创建一个进程ID文件,例如1234,内容如下。当我用另一个Java版本指定另一个Java_home时,例如oracle java jdk1.7.0_71

Home/ec2-user/jdk1.7.0_71.bin/java HelloWorld

文件未创建。

如果我运行默认的java,但作为另一个用户(根)文件没有创建。

有什么想法吗?

sun.rt.createVmBeginTime
sun.rt.createVmEndTime
sun.rt.vmInitDoneTime
java.threads.started
java.threads.live
java.threads.livePeak
java.threads.daemon
sun.rt.safepointSyncTime
sun.rt.safepoints
sun.rt.safepointTime
sun.rt.applicationTime
sun.rt.jvmVersion
sun.rt.threadInterruptSignaled
sun.rt.interruptedBeforeIO
sun.rt.interruptedDuringIO
sun.rt.jvmCapabilities
java.cls.loadedClasses
java.cls.unloadedClasses
java.cls.sharedLoadedClasses
java.cls.sharedUnloadedClasses
sun.cls.loadedBytes
sun.cls.unloadedBytes
sun.cls.sharedLoadedBytes
sun.cls.sharedUnloadedBytes
sun.cls.methodBytes
sun.cls.time
sun.cls.classInitTime
sun.cls.classInitTime.self
sun.cls.classVerifyTime
sun.cls.classVerifyTime.self
sun.cls.classLinkedTime
sun.cls.classLinkedTime.self
sun.cls.initializedClasses
sun.cls.linkedClasses
sun.cls.verifiedClasses
sun.cls.parseClassTime
sun.cls.parseClassTime.self
sun.cls.lookupSysClassTime
sun.cls.sharedClassLoadTime
sun.cls.sysClassLoadTime
sun.cls.appClassLoadTime
sun.cls.appClassLoadTime.self
sun.cls.appClassLoadCount
sun.cls.defineAppClasses
sun.cls.defineAppClassTime
sun.cls.defineAppClassTime.self
sun.cls.appClassBytes
sun.cls.sysClassBytes
sun.cls.systemLoaderLockContentionRate
sun.cls.nonSystemLoaderLockContentionRate
sun.cls.jvmFindLoadedClassNoLockCalls
sun.cls.jvmDefineClassNoLockCalls
sun.cls.jniDefineClassNoLockCalls
sun.cls.unsafeDefineClassCalls
sun.cls.isUnsyncloadClassSet
sun.cls.loadInstanceClassFailRate
sun.gc.cause
No GC
sun.gc.lastCause
No GC
sun.gc.generation.0.name
sun.gc.generation.0.spaces
sun.gc.generation.0.minCapacity
sun.gc.generation.0.maxCapacity
sun.gc.generation.0.capacity
sun.gc.generation.0.space.0.name
eden
sun.gc.generation.0.space.0.maxCapacity
sun.gc.generation.0.space.0.capacity
sun.gc.generation.0.space.0.used
sun.gc.generation.0.space.0.initCapacity
sun.gc.generation.0.space.1.name
sun.gc.generation.0.space.1.maxCapacity

编辑:alias显示如下,但是declare -f什么也没有显示。

$alias

alias l.='ls -d .* --color=auto'
alias ll='ls -l --color=auto'
alias ls='ls --color=auto'
alias vi='vim'
alias which='alias | /usr/bin/which --tty-only --read-alias --show-dot --show-tilde'

$declare -f

共有2个答案

贝财
2023-03-14

我已经将“x”权限添加到dir / tmp / hsperfdata_user并且它的工作原理,奇怪的pid日志文件不再存在。

王泓
2023-03-14

对我来说,答案是/tmp/hsperfdata_user目录的权限没有设置为x。我运行< code > chmod x/tmp/hsperfdata _ user 来修复它,其中user是受影响的帐户的用户名。

应该注意的是,由于hsperfdata_user目录驻留在 /tmp 中,这意味着重新启动也应该解决此问题,具体取决于导致权限首先更改的原因。

 类似资料:
  • 我正在这样的控制器上播放视频: 即使在控制器被销毁并且不再使用之后,我每秒钟左右都会收到这条日志消息: 我不是在问如何隐藏这些日志。我知道如何通过将

  • 问题内容: 我在这里遇到了我无法理解的被感染的情况。我将要编写的有关功能的文档也没有任何东西可以说明这一点。 我有一张桌子和一个田野。我在巴西,一些在这一领域中的字符有口音,我的目标是没有口音创建一个类似的字段(由原始字符代替,因为这成为等等)。 我可以使用一堆函数像,和其他函数那样来做,但是我在互联网上发现一个接缝看起来更加优雅,然后我使用了它。那就是问题所在。 我的更新代码是这样的: 就像我说

  • 我一直在看到奇怪的方括号,无法找到和有关可能存在的内容的信息,日志看起来像这样: 正如您所看到的,在日志级别后面有带逗号的括号,在某些时候,括号中的信息如下所示: 无法真正找到可能是什么,我使用的是默认的Spring启动日志记录模式,是否可以在不重新声明日志记录模式的情况下错误地使用MDC?如果是MDC问题,那么为什么括号中的任何值看起来像这样: 我使用的记录器是Slf4j

  • 你好,我正在为我的openGL项目制作一个图像和纹理类,当我添加stb_image一些纹理时,就开始在图像边缘添加噪声。 图像类别: 纹理类: 图像为128x128像素 以下是它在 paint.net 中的样子: 以下是渲染时的外观: 我相信图像加载很好,因为我用图像类设置了窗口的图标,看起来很好。我认为问题源于纹理类。 解决了Jérôme Richard为我解决了这个问题。这不起作用的原因是因为

  • 问题内容: 我当前正在创建一个可以包含模块的系统(将它们视为插件),其中每个模块可以拥有自己的专用日志。 我想使用log4j2项目进行日志记录,但是文件附加器似乎有些麻烦。 主项目(整个模块的模块加载器和“核心”)应具有自己的日志文件,而模块应具有自己的日志文件(如)。 通过阅读有关追加程序的文档,我发现了该类,并且我将使用它。直到我发现不能简单地将追加器添加到由创建的默认记录器中。 LogMan

  • 我有将日志保存到文件配置,但日志会附加到现有内容。我想创建总是新的文件。我怎么能那样做? 我的log4j2.xml: