導航:首頁 > 編程語言 > 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默認埠相關的資料

熱點內容
文件夾優酷中緩存的視頻找不到 瀏覽:685
成都騰進網路技術有限公司 瀏覽:549
電腦保存文件怎麼發到qq 瀏覽:556
寶寶文件夾圖片 瀏覽:516
蘋果電腦如何剪切文件夾 瀏覽:183
蘋果電腦怎麼拷貝excel文件 瀏覽:260
cf狙擊準星工具 瀏覽:27
西門子數控編程r11r25是什麼意思 瀏覽:574
iphone6怎麼刪除聯系人 瀏覽:643
ipad4刷安卓系統 瀏覽:463
linuxgrep失效 瀏覽:519
word文件大於100m怎麼變小 瀏覽:898
靖江二手文件櫃哪裡買 瀏覽:478
cad如何傳輸全站儀數據 瀏覽:642
如何破壞所有的excel文件 瀏覽:766
數據大屏壁紙哪裡可以找到 瀏覽:235
融學大數據APP 瀏覽:938
win10共享不了文件夾許可權訪問 瀏覽:808
qq頭像可愛卡通超萌 瀏覽:804
院內文件具體有哪些 瀏覽:337

友情鏈接