導航:首頁 > 編程語言 > jstatd默認埠

jstatd默認埠

發布時間:2024-04-13 12:31:08

『壹』 java RMI 如何返回遠程對象的引用

利用java的對象序列化和反序列化來傳遞對象就OK了。

序列化需要實現介面Serializable
需要定義序列化idserialVersionUID;

大致代碼如下:

	cvoidSerializePerson()throwsFileNotFoundException,IOException{
Objectobj=newObject();
//ObjectOutputStream對象輸出流,將對象存儲到E盤的obj.txt文件中,完成對Object對象的序列化操作
ObjectOutputStreamos=newObjectOutputStream(newFileOutputStream(newFile("E:/obj.txt")));
os.writeObject(obj);
System.out.println("序列化成功!");
os.close();
}

()throwsException,IOException{
ObjectInputStreamois=newObjectInputStream(newFileInputStream(newFile("E:/obj.txt")));
Objectobj=ois.readObject();
System.out.println("反序列化成功!");
returnobj;
}

另外有點好奇RMI這玩意多麻煩呀,老早就沒啥人用了吧。。。。。。

對了 序列化成jsON格式,接收後再轉換回來會更方便!

『貳』 如何用VisualVM連接遠程Tomcat

1、設置Tomcat的JAVA_OPTS參數:
JAVA_OPTS="$JAVA_OPTS
-Dcom.sun.management.jmxremote=true
-Dcom.sun.management.jmxremote.port=9090
-Dcom.sun.management.jmxremote.ssl=false
-Dcom.sun.management.jmxremote.authenticate=false
-Djava.rmi.server.hostname=10.154.252.108"

此處IP填的是所在遠程機器的IP(hostname -i ),需要確保這個埠沒程序佔用。
可以直接把這個參數寫入到catalina.sh文件中。

2、添加JMX連接,並填入IP和剛剛設置的埠。

連接完成之後,監視、線程、概述選項卡可以正常顯示,也可以添加插件,選擇「工具 - 插件」。可以添加新的插件,此處我們添加了一個名叫 Visual GC 的插件,用於監控JVM 的垃圾回收情況。

4、美中不足的是, Visual GC 並不買賬,無法顯示。

Visual GC uses the jvmstat technology to gather data from the monitored application. This means that the monitored application must either run locally or there must be a jstatd agent up and running on the remote system. For remote applications added using the JMX connection you will only see the "Not supported for this JVM" message - there's no jvmstat available.
引用自:https://blogs.oracle.com/nbprofiler/entry/visual_gc_plugin_2_0
使用JMX監控的功能不支持Visual GC,需要以jstatd的方式來監控。

5、使用Jstatd方式關聯監控
Jstatd方法是利用後台的RMI守護進程來實現對遠程JVM的監控。啟動jstatd不復雜,
找到tomcat所在機器的Java目錄,在bin目錄下首先創建一個監控策略文件:
?

1
2
3
4

vi jstatd.all.policy
grant codebase "file:${java.home}/../lib/tools.jar" {
permission java.security.AllPermission;
};

把"${java.home}/../"替換成JAVA安裝目錄。然後執行如下命令啟動jstatd:jstatd -J-Djava.security.policy=jstatd.all.policy

查看jstatd是否啟動:
[root@vm-10-154-252-108 bin]# jps -l 127.0.0.1
8618 sun.tools.jps.Jps
7516 sun.tools.jstatd.Jstatd
15815 org.apache.catalina.startup.Bootstrap
7670 org.apache.catalina.startup.Bootstrap
21315 org.apache.catalina.startup.Bootstrap
21481 org.apache.catalina.startup.Bootstrap
11470 org.apache.catalina.startup.Bootstrap
15649 org.apache.catalina.startup.Bootstrap
15732 org.apache.catalina.startup.Bootstrap
21398 org.apache.catalina.startup.Bootstrap
11634 org.apache.catalina.startup.Bootstrap

5、刪除VisualVM之前對Tomcat的監控,添加「遠程主機」,輸入主機IP,通過「高級設置」可以看到遠程主機默認是jstatd方式監控的。

點擊確定,將會列出該機器上所有的可監控的Java程序,

找到我們需要監控的程序PID,雙擊:

『叄』 如何優化tomcat配置

Tomcat有很多方面,我從內存、並發、緩存四個方面介紹優化方法。
一.Tomcat內存優化

Tomcat內存優化主要是對 tomcat 啟動參數優化,我們可以在 tomcat 的啟動腳本 catalina.sh 中設置 JAVA_OPTS 參數。
JAVA_OPTS參數說明
-server 啟用jdk 的 server 版;
-Xms java虛擬機初始化時的最小內存;
-Xmx java虛擬機可使用的最大內存;
-XX:PermSize 內存永久保留區域
-XX:MaxPermSize 內存最大永久保留區域
伺服器參數配置

現公司伺服器內存一般都可以加到最大2G ,所以可以採取以下配置:

JAVA_OPTS='-Xms1024m -Xmx2048m -XX:PermSize=256M -XX:MaxNewSize=256m -XX:MaxPermSize=256m'

配置完成後可重啟Tomcat ,通過以下命令進行查看配置是否生效:
首先查看Tomcat 進程號:

sudo lsof -i:9027

我們可以看到Tomcat 進程號是 12222 。
查看是否配置生效:

sudo jmap – heap 12222

我們可以看到MaxHeapSize 等參數已經生效。、
二.Tomcat並發優化

1.Tomcat連接相關參數

在Tomcat 配置文件 server.xml 中的 <Connector ... /> 配置中

1>參數說明

minProcessors:最小空閑連接線程數,用於提高系統處理性能,默認值為 10
maxProcessors:最大連接線程數,即:並發處理的最大請求數,默認值為 75
acceptCount:允許的最大連接數,應大於等於 maxProcessors ,默認值為 100
enableLookups:是否反查域名,取值為: true 或 false 。為了提高處理能力,應設置為 false
connectionTimeout:網路連接超時,單位:毫秒。設置為 0 表示永不超時,這樣設置有隱患的。通常可設置為30000 毫秒。
其中和最大連接數相關的參數為maxProcessors 和 acceptCount 。如果要加大並發連接數,應同時加大這兩個參數。
web server允許的最大連接數還受制於操作系統的內核參數設置,通常 Windows 是 2000 個左右, Linux 是 1000 個左右。

2>Tomcat中的配置示例
<Connector port="9027"
protocol="HTTP/1.1"
maxHttpHeaderSize="8192"
minProcessors="100"
maxProcessors="1000"
acceptCount="1000"
redirectPort="8443"
disableUploadTimeout="true"/>

2.調整連接器connector的並發處理能力

1>參數說明

maxThreads 客戶請求最大線程數
minSpareThreads Tomcat初始化時創建的 socket 線程數
maxSpareThreads Tomcat連接器的最大空閑 socket 線程數
enableLookups 若設為true, 則支持域名解析,可把 ip 地址解析為主機名
redirectPort 在需要基於安全通道的場合,把客戶請求轉發到基於SSL 的 redirectPort 埠
acceptAccount 監聽埠隊列最大數,滿了之後客戶請求會被拒絕(不能小於maxSpareThreads )
connectionTimeout 連接超時
minProcessors 伺服器創建時的最小處理線程數
maxProcessors 伺服器同時最大處理線程數
URIEncoding URL統一編碼

2>Tomcat中的配置示例

<Connector port="9027"
protocol="HTTP/1.1"
maxHttpHeaderSize="8192"
maxThreads="1000"
minSpareThreads="100"
maxSpareThreads="1000"
minProcessors="100"
maxProcessors="1000"
enableLookups="false"
URIEncoding="utf-8"
acceptCount="1000"
redirectPort="8443"
disableUploadTimeout="true"/>

3.Tomcat緩存優化

1>參數說明

c ompression 打開壓縮功能
compressionMinSize 啟用壓縮的輸出內容大小,這裡面默認為2KB
compressableMimeType 壓縮類型
connectionTimeout 定義建立客戶連接超時的時間. 如果為 -1, 表示不限制建立客戶連接的時間

2>Tomcat中的配置示例
<Connector port="9027"
protocol="HTTP/1.1"
maxHttpHeaderSize="8192"
maxThreads="1000"
minSpareThreads="100"
maxSpareThreads="1000"
minProcessors="100"
maxProcessors="1000"
enableLookups="false"
compression="on"
compressionMinSize="2048"
compressableMimeType="text/html,text/xml,text/javascript,text/css,text/plain"
connectionTimeout="20000"
URIEncoding="utf-8"
acceptCount="1000"
redirectPort="8443"
disableUploadTimeout="true"/>

4.參考配置

1>舊有的配置

參考網路對伺服器做過如下配置,拿出來分享下:

<Connector port="9027"
protocol="HTTP/1.1"
maxHttpHeaderSize="8192"
maxThreads="1000"
minSpareThreads="25"
maxSpareThreads="75"
enableLookups="false"
compression="on"
compressionMinSize="2048"
compressableMimeType="text/html,text/xml,text/javascript,text/css,text/plain"
connectionTimeout="20000"
URIEncoding="utf-8"
acceptCount="200"
redirectPort="8443"
disableUploadTimeout="true" />

後來發現在訪問量達到3 百萬多的時候出現性能瓶頸。
2>更改後的配置

<Connector port="9027"
protocol="HTTP/1.1"
maxHttpHeaderSize="8192"
maxThreads="1000"
minSpareThreads="100"
maxSpareThreads="1000"
minProcessors="100"
maxProcessors="1000"
enableLookups="false"
compression="on"
compressionMinSize="2048"
compressableMimeType="text/html,text/xml,text/javascript,text/css,text/plain"
connectionTimeout="20000"
URIEncoding="utf-8"
acceptCount="1000"
redirectPort="8443"
disableUploadTimeout="true"/>

『肆』 在新建虛擬機時出現問題

JConsole

JConsole 圖形用戶界面是一種符合 Java 管理擴展(JMX)規范的監視工具。JConsole 使用 Java 虛擬機 (Java VM) 的廣泛檢測來提供有關在 Java 平台上運行的應用程序的性能和資源消耗的信息。

使用方法 本地

閱讀全文

與jstatd默認埠相關的資料

熱點內容
怎麼用手機看wlan密碼 瀏覽:745
奧維地圖導入的文件在哪裡 瀏覽:364
sdltrados2014教程 瀏覽:43
培訓制度文件在哪裡找 瀏覽:601
勒索病毒防疫工具 瀏覽:861
win10c不能打開 瀏覽:375
xfplay影音先鋒蘋果版 瀏覽:597
兩個文件打開兩個word 瀏覽:921
蘋果6s桌面圖標輕微抖動 瀏覽:326
如何刪除手機中看不見的臨時文件 瀏覽:469
安卓412原生鎖屏apk 瀏覽:464
書加加緩存文件在哪裡 瀏覽:635
dock是word文件嗎 瀏覽:267
社保公司新辦去哪個網站下載資料 瀏覽:640
三維標注數據怎麼填寫 瀏覽:765
數據線斷在哪裡取出來 瀏覽:522
word最好的文件 瀏覽:345
大數據聚類資料庫 瀏覽:247
網站關停域名怎麼注銷 瀏覽:456
適合微信閱讀的手機報 瀏覽:114

友情鏈接