jstatd监控jvm内存消耗

env

localhost: MacOS11.6
remote server: run a centos7 server in vmware

use MacOS monitoring remote server, remote server open a port to show server`s heap

First, init localhost

install visualVM and jdk in Mac

jdk version is 17.0.1, just install dmg, the package name like this: jdk-17_macos-x64_bin.dmg
在这里插入图片描述
visualVM version just install dmg again, like this VisualVM_211.dmg:
在这里插入图片描述

reference documentation
visualvm: https://visualvm.github.io/download.html
jdk: https://docs.oracle.com/en/java/javase/15/install/installation-jdk-macos.html#GUID-F575EB4A-70D3-4AB4-A20E-DBE95171AB5F

Second, init the remote server

install logstash for rpm:

wget https://artifacts.elastic.co/downloads/logstash/logstash-7.16.2-x86_64.rpm && rpm -ivh logstash-7.16.2-x86_64.rpm

set JAVA_HOME:

sudo vim /etc/profile
export JAVA_HOME=/usr/share/logstash/jdk
export PATH=$JAVA_HOME/bin:$PATH
export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib

source /etc/profile
java -version

run logstash in the remote server

systemctl start logstash

run jstatd in the remote server

# add two lines in java.policy
cp /usr/share/logstash/jdk/conf/security/java.policy ~/java.policy
cat >> ~/java.policy <<EOF
//
// This system policy file grants a set of default permissions to all domains
// and can be configured to grant additional permissions to modules and other
// code sources. The code source URL scheme for modules linked into a
// run-time image is "jrt".
//
// For example, to grant permission to read the "foo" property to the module
// "com.greetings", the grant entry is:
//
// grant codeBase "jrt:/com.greetings" {
//     permission java.util.PropertyPermission "foo", "read";
// };
//

// default permissions granted to all domains
grant {
    // allows anyone to listen on dynamic ports
    permission java.net.SocketPermission "localhost:0", "listen";

    // "standard" properies that can be read by anyone
    permission java.util.PropertyPermission "java.version", "read";
    permission java.util.PropertyPermission "java.vendor", "read";
    permission java.util.PropertyPermission "java.vendor.url", "read";
    permission java.util.PropertyPermission "java.class.version", "read";
    permission java.util.PropertyPermission "os.name", "read";
    permission java.util.PropertyPermission "os.version", "read";
    permission java.util.PropertyPermission "os.arch", "read";
    permission java.util.PropertyPermission "file.separator", "read";
    permission java.util.PropertyPermission "path.separator", "read";
    permission java.util.PropertyPermission "line.separator", "read";
    permission java.util.PropertyPermission
                   "java.specification.version", "read";
    permission java.util.PropertyPermission "java.specification.vendor", "read";
    permission java.util.PropertyPermission "java.specification.name", "read";
    permission java.util.PropertyPermission
                   "java.vm.specification.version", "read";
    permission java.util.PropertyPermission
                   "java.vm.specification.vendor", "read";
    permission java.util.PropertyPermission
                   "java.vm.specification.name", "read";
    permission java.util.PropertyPermission "java.vm.version", "read";
    permission java.util.PropertyPermission "java.vm.vendor", "read";
    permission java.util.PropertyPermission "java.vm.name", "read";
	
	### add this line!!!
    permission java.lang.RuntimePermission "accessClassInPackage.jdk.internal.vm.annotation","read";
    ### add this line!!!
    permission java.security.AllPermission;
};
EOF

# run in command, must be Absolute path
jstatd -J-Djava.security.policy=java.policy

open visualVM in Mac

create remote server in visualVM, just enter the remote ip
在这里插入图片描述
and then, you will see
在这里插入图片描述

a bug

no cpu monitoring…

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值