
本文主要介绍如何在Linux下配置图形服务以便ssh远程使用GUI环境。
Linux的桌面环境是通过X Server(XFree86、Xorg),X Client(libX11),Window Manager(KDE、xfce、wm2)等服务提供的。我们先简单了解X涉及的一些概念,下面的X架构图来自wikipedia,请注意X server是运行在有屏幕的机器这边,也就是你自己的PC上,而远程执行的应用,例如jvisualvm则是X的client端。换句话说就是SSH的client端是X的server端,SSH的server端是X的client端。
由于X server是监听在本地的,ssh服务端的远程client想连回本地必须使用remote tunnel, X11 forwarding 则可以方便的将X11协议转发到远程主机。转发过程中会自动设置 DISPLAY 环境变量和Xauth授权信息。
然后重启sshd,重启并不会导致已连上的ssh client断开。
服务器的XLib版本则可以通过 rpm -q libX11 命令确认。
打开jdk下面的jvisualvm软件,监控某个方法调用的耗时,main方法是我的启动方法,先调用testStringKey方法,然后在调用testObjectKey方法。1、热点方法:表示虚拟机运行过程中被采样的每个方法,如果关注的方法没有出现在这个列表中,则表示此方法不是性能的热点,或者此方法被调用的次数太少。
2、自用时间:表示方法本身执行消耗的时间,分别以百分比和消费时间进行统计。方法执行时间包含方法调用其他方法的时间和自身执行时间。
3、自用时间(CPU):表示方法本身消耗的CPU时间,不包含休眠,I/O等待时间。如果看到热点方法的自用时间多,但是自用时间(CPU)小,则有可能是该方法包含I/O、线程调度。
4、总时间:包含该方法所消耗的总时间,包含调用其他方法所消耗的时间。
5、总时间(CPU):同总时间,但只包含CPU时间,不包含休眠、I/O等待时间。
总结:如果自用时间长,而对应的自用时间(CPU)小,则调优方向可以转为优化线程和I/O相关。问题:端口、安全组均已开放,使用telnet测试jmx端口,连接正常,但是使用jvisualvm/jconsole连不上
添加的启动参数
原因:JMX实际开了三个端口
启动参数只配置了JMX端口,RMI端口是默认随机的,没有开放,所有连不上
解决:添加RMI端口启动参数
-Dcomsunmanagementjmxremotermiport=21002生成dump文件的命令:
jmap -dump:format=b,file=20170307dump 16048
file后面的是自定义的文件名,最后的数字是进程的pid
使用jvisualvm来分析dump文件:
jvisualvm是JDK自带的Java性能分析工具,在JDK的bin目录下,文件名就叫jvisualvmexe。
jvisualvm可以监控本地、远程的java进程,实时查看进程的cpu、堆、线程等参数,对java进程生成dump文件,并对dump文件进行分析。
像我这种从服务器上dump下来文件也可以直接扔给jvisualvm来分析。
使用方式:直接双击打开jvisualvmexe,点击文件->装入,在文件类型那一栏选择堆,选择要分析的dump文件,打开。通过SHH工具将下载好的jvisualvm上传到服务器解压,使用vncviewer连接上服务器
进入到visualvm目录下,运行visualvm安装
[root@localhost /]# cd opt/visualvm_138/
[root@localhost visualvm_138]# bin/visualvm
点击同意,启动visualvm
下次启动直接运行以下打开就可以了
[root@localhost visualvm_138]# bin/visualvm
查看CUP、内存使用情况先下载linux的系统映像,我在官网上下载的是iso格式的。在vm上新建虚拟机,然后一直一步步按照提示来就ok了,里面有linux的,和windows的安装一样。实在不懂就在百度文库上看教程,图文并茂,比我给你说好多了。
哦,还有,vm原版的是英文的,不晓得你的是不是汉化版的,汉化方法百度文库上也有详细教程。
系统安装之后所有东西都在一个虚拟磁盘文件上,不要了直接删除它就行了,也可以把它复制出来随身携带,只要有vm,就能使用你的linux。
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)