- android - 多次调用 OnPrimaryClipChangedListener
- android - 无法更新 RecyclerView 中的 TextView 字段
- android.database.CursorIndexOutOfBoundsException : Index 0 requested, 光标大小为 0
- android - 使用 AppCompat 时,我们是否需要明确指定其 UI 组件(Spinner、EditText)颜色
在编写unix脚本时,我很困惑为什么脚本会出错。
脚本是这样的……
jvmpid=$(pidof java)
./jstat -gc $jvmpid
当我运行脚本时,它出错了:
Malformed VM Identifier: 3492 Usage: jstat -help|-options jstat - [-t] [-h] [ []]
Definitions: An option reported by the -options option Virtual Machine Identifier. A vmid takes the following form: [@[:]] Where is the local vm identifier for the target Java virtual machine, typically a process id; is the name of the host running the target Java virtual machine; and is the port number for the rmiregistry on the target host. See the jvmstat documentation for a more complete description of the Virtual Machine Identifier. Number of samples between header lines.
Sampling interval. The following forms are allowed: ["ms"|"s"] Where is an integer and the suffix specifies the units as milliseconds("ms") or seconds("s"). The default units are "ms". Number of samples to take before terminating. -J Pass directly to the runtime system.
但是,如果我直接在 shell 中执行脚本的每一行,每行都可以正常工作。
有什么线索吗?我已经在网上搜索过帮助。
最佳答案
我遇到了同样的问题,我解决了。问题似乎是变量 jvmpid 没有'3492'而是'3492CRLF',所以它不能被 jstat 正确理解。我写了一个 bash 脚本,它使用 printf 将变量正确格式化为小数。 printf 在执行此操作时会出错,但会执行此操作。
JAVAPID=$(pidof java)
#Transform the pid into a valid decimal as the output of pidof has some escape characters. Also avoid printing the printf error
JAVAPID1=$(printf "%d" $JAVAPID 2> error.txt)
#Remove the error file generated by printf. Gave an error but did the job
rm -f error.txt
#Execute the command
jstat -gc $JAVAPID1
如您所见,我不是 bash 脚本专家,所以这可能可以用更简洁的方式完成,但这是我发现的最佳方式。希望对您有所帮助。
关于java - Unix 脚本中的 JSTAT 无法正常工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29955057/
全称“Java Virtual Machine statistics monitoring tool”(statistics 统计;monitoring 监控;tool 工具) 用于监控虚拟机的各种运
S0C S1C S0U S1U EC EU OC OU MC MU CCSC CCSU YGC
如果我们在生产环境中继续运行 jstat 命令(比如每 5 分钟左右)以监控 JVM (6.x) 内存,是否会对性能产生影响?目标系统是一个实时应用程序,即使是一秒钟的暂停也很重要。 最佳答案 不,j
1. 使用背景 一般来说,中大型公司都会有自己的应用监控系统,比如开源的 Zabbix、Open-Falcon、Prometheus等,也可能一些公司自己实现了监控或者告警系统;这些系统可以监控所有
根据link :-gccapacity 显示: NGCMX:最大新一代容量 (KB)。 NGC:当前新一代容量 (KB)。 NGC 显示当前空闲新一代容量还是当前已使用新一代容量。 最佳答案 NGC
有什么方法可以将 jstat 的输出(特别是 -gcutil 输出)输入到 ksysguard 中,以便我可以从垃圾收集的角度跟踪 java 进程集合的运行情况? 我知道 jconsole 有类似的可
我是 jstat 工具的新手。因此,我做了如下示例。 ./jstat -gcutil -t 4001 5000 Timestamp S0 S1 E O
我想使用 gc 实用程序来分析我的 Cassandra 数据库的垃圾收集。但是当我运行 jstat 命令时,输出显示 bash:jstat: command not find。我搜索并发现 jstat
突然我发现jstat is deprecated : The jstat tool displays performance statistics for an instrumented HotSpo
我正在调查 OutOfMemoryError:压缩类空间问题。我认为,我找到了根本原因和解决方案(Hibernate Validator 方法调用 JAXBContext.newInstance():
我目前正在调查压缩类空间问题。我知道问题出在哪里,但在调查时,我注意到 jstat -gc ... 和 jcmd ... GC.heap_info 给出了不同数量的元空间和压缩类空间容量及用途: ▶
我正在尝试运行 jstat 来监控 GC。我使用 jps 命令获取 vmid: > jps 18928 GCTest 但是当我尝试像这样运行 jstat 时: >jstat -gc 18928 Th
在编写unix脚本时,我很困惑为什么脚本会出错。 脚本是这样的…… jvmpid=$(pidof java) ./jstat -gc $jvmpid 当我运行脚本时,它出错了: Malformed V
我正在运行 jvm (java 8)带参数“-XX:MetaspaceSize=256M and -XX:MaxMetaspaceSize=256M”。当我执行“jstat -gcmetacapaci
我试图了解 jstat 的输出以及 Java 的 GarbageCollectorMXBean.getCollectionCount() 提供的 API。 将 jstat 与 -gcutil 选项结合
我正在运行 JBoss 服务器,以下输出属于 -gcutil 工具。我很好奇这个缩写是什么。 /usr/java/jdk1.7.0_25/bin/jstat -gcutil 47929 S0
有一台服务器,我无法在其上运行任何基于 GUI 的分析器(例如 jvisualvm)来监视正在运行的 Java 进程的堆。根据this answer , 我可以使用 jstat -gc 并查看 OU
当尝试使用 jstat 监视 JVM 的性能时,我看到以下几行 - Timestamp PC PU OC **OU** YGC
我们基于 Java 的服务器应用程序报告异常长的类加载时间: # jstat -class 10625 1000 Loaded Bytes Unloaded Bytes Time 4
jps 如何获取有关所有本地java 进程 的信息?它是否连接到某个本地服务器进程以获取信息? jinfo、jstat、jmap 和jstack 如何获取有关本地java 进程 的信息?他们是否连接到
我是一名优秀的程序员,十分优秀!