當前位置:編程學習大全網 - 源碼下載 - 樹脂配置jvm參數在哪個文件中?

樹脂配置jvm參數在哪個文件中?

樹脂結構優化

1.樹脂安裝和自啟動設置

創建啟動自動啟動。

CP contrib/init . resin/etc/RC . d/init . d/resin

vi /etc/rc.d/init.d/resin

設置正確的路徑

JAVA _ HOME =/usr/local/JDK 1 . 6 . 0 _ 13

RESIN _ HOME =/usr/local/RESIN-3.1.8

授予可執行權限。

chmod +x /etc/rc.d/init.d/resin

添加為自啟動服務:

chkconfig -添加樹脂

chkconfig-35級樹脂開啟

服務樹脂啟動

解決啟動服務錯誤:log_daemon_msg:未找到命令。

註釋掉調用函數的地方,用echo代替。比如:

log_daemon_msg“樹脂啟動”

代替

回聲“樹脂啟動”

修改後,可以使用服務樹脂啟動/停止/重啟來執行相關命令。

2.設置resin.conf參數和JVM設置。

& ltJVM-arg & gt;-xmx 4096m & lt;/JVM-arg & gt;

& ltJVM-arg & gt;-xms 4096m & lt;/JVM-arg & gt;

& ltJVM-arg & gt;-xmn 512M & lt;/JVM-arg & gt;

& ltJVM-arg & gt;-XSS 50m & lt;/JVM-arg & gt;

& ltJVM-arg & gt;-XX:PermSize = 768m & lt;/JVM-arg & gt;

& ltJVM-arg & gt;-XX:MaxPermSize = 768m & lt;/JVM-arg & gt;

& ltJVM-arg & gt;-XX:survivor ratio = 8 & lt;/JVM-arg & gt;

& ltJVM-arg & gt;-XX:MaxTenuringThreshold = 7 & lt;/JVM-arg & gt;

& ltJVM-arg & gt;-XX:GCTimeRatio = 19 & lt;/JVM-arg & gt;

& ltJVM-arg & gt;-XX:+UseParNewGC & lt;/JVM-arg & gt;

& ltJVM-arg & gt;-XX:+UseConcMarkSweepGC & lt;/JVM-arg & gt;

& ltJVM-arg & gt;-XX:+cmspermgensweeping enabled & lt;/JVM-arg & gt;

& ltJVM-arg & gt;-XX:+cmssclassunloadingenabled & lt;/JVM-arg & gt;

& ltJVM-arg & gt;-XX:+UseCMSCompactAtFullCollection & lt;/JVM-arg & gt;

& ltJVM-arg & gt;-XX:cmsfullgcsbeforecumption = 2 & lt;/JVM-arg & gt;

& ltJVM-arg & gt;-XX:-CMS parallelremarkenabled & lt;/JVM-arg & gt;

& ltJVM-arg & gt;-XX:+DisableExplicitGC & lt;/JVM-arg & gt;

& ltJVM-arg & gt;-XX:CMS initiating occupancy fraction = 70 & lt;/JVM-arg & gt;

& ltJVM-arg & gt;-XX:SoftRefLRUPolicyMSPerMB = 0 & lt;/JVM-arg & gt;

& ltJVM-arg & gt;-XX:+printclassshistogram & lt;/JVM-arg & gt;

& ltJVM-arg & gt;-XX:+printgdetails & lt;/JVM-arg & gt;

& ltJVM-arg & gt;-XX:+printgcstimestamps & lt;/JVM-arg & gt;& ltJVM-arg & gt;-XX:+printgapplicationconcurrenttime & lt;/JVM-arg & gt;

& ltJVM-arg & gt;-XX:+printgapplicationstoppedtime & lt;/JVM-arg & gt;

& ltJVM-arg & gt;-Xloggc:log/GC . log & lt;/JVM-arg & gt;

& ltJVM-arg & gt;-Xdebug & lt;/JVM-arg & gt;

& ltJVM-arg & gt;-DCOM . sun . management . JMX remote & lt;/JVM-arg & gt;

內存設置配置:

& lt內存釋放-min & gt;5M & lt/memory-free-min & gt;

最大線程數

& lt!-最大線程數。-& gt;

& ltthread-max & gt;1024</thread-max & gt;

& lt!-配置套接字超時-& gt;

& lt套接字超時& gt65s & lt/socket-time out & gt;

配置最活躍的連接和超時

& lt!-配置keepalive-& gt;

& ltkeepalive-max & gt;2048 & lt/keepalive-max & gt;

keepalive-time out & gt;15s & lt;/keepalive-time out & gt;

3.配置jconsole監控JVM

$ Java _ home/JRE/lib/management/JMX remote . password . template文件是遠程連接時設置用戶和密碼的文件。

CP $ JAVA _ HOME/JRE/lib/management/JMX remote . password . template $ JAVA _ HOME/jconsole/JMX remote . password

chmod 600 $ JAVA _ HOME/jconsole/JMX remote . password

vi jmxremote.password

刪除#monitorRole RED前的註釋,將RED改為妳要設置的密碼。在resin.conf中添加以下配置,其中被監控主機的IP需要與主機IP壹致。

& ltJVM-arg & gt;-DCOM . sun . management . JMX remote . port = 12345 & lt;/JVM-arg & gt;

& ltJVM-arg & gt;-DCOM . sun . management . JMX remote . SSL = false & lt;/JVM-arg & gt;

& ltJVM-arg & gt;-DCOM . sun . management . JMX remote . access . file =/usr/local/JDK 1 . 6 . 0 _ 13/JRE/lib/management/JMX remote . access & lt;/JVM-arg & gt;& ltJVM-arg & gt;-DCOM . sun . management . JMX remote . password . file =/usr/local/JDK 1 . 6 . 0 _ 13/JRE/lib/management/JMX remote . password & lt;/JVM-arg & gt;

& ltJVM-arg & gt;-DCOM . sun . management . JMX remote . authenticate = true & lt;/JVM-arg & gt;

& ltJVM-arg & gt;-DJ ava . RMI . server . hostname = 192.168.100.9 & lt;/JVM-arg & gt;

基本不需要在客戶端設置,在JDK安裝目錄下(

雙擊jconsole.exe啟動連接對話框。

4.配置樹脂背景管理

& lt管理路徑= " $ { resin . root }/admin " & gt;

& ltuser name = " admin " password = " mnhpobdovrmoyqfwoa 5 w7a = = "/& gt;

& ltresin:if test = " $ { resin . professional } " & gt;

& ltdeploy-service/>

& ltJMX-service/& gt;

& lt日誌服務/>

& ltxa-log-service/>

& lt/resin:if & gt;

& lt/management & gt;

& ltwe B- app id = "/resin-admin " root-directory = " $ { resin . home }/PHP/admin " >的文件。

& lt!-

-管理應用程序/樹脂-管理->;

& lt序言& gt

& ltresin:set var = " resin _ admin _ user " value = " admin "/& gt;

& ltresin:set var = " resin _ admin _ password " value = " password "/& gt;

& ltresin:set var = " resin _ admin _ external " value = " true "/& gt;

& ltresin:set var = " resin _ admin _ unsecure " value = " true "/& gt;

& lt/prologue & gt;

& lt/we B- app & gt;

兩個。網絡優化部分

1.減少TCP連接中的等待時間或關閉等待數據包。

添加以下配置。

net . IP v4 . TCP _ sync ookies = 1

net.ipv4.tcp_tw_reuse = 1

net . IP v4 . TCP _ tw _ recycle = 1

net . IP v4 . TCP _ fin _ time out = 15

net . IP v4 . TCP _ keepalive _ time = 1200

net . IP v4 . TCP _ keepalive _ probes = 5

net . IP v4 . TCP _ keepalive _ intvl = 15

配置屬性描述:

net . IP v4 . TCP _ SYN Cookies = 1表示打開SYN Cookies。當SYN等待隊列溢出時,啟用cookies進行處理,可以防止少量SYN攻擊。默認值為0,這意味著它是關閉的。

Net.ipv4.tcp_tw_reuse = 1表示開啟復用。允許等待時間套接字重新用於新的TCP連接。默認值為0,這意味著它是關閉的。

net . IP v4 . tcp _ tw _ recycle = 1表示打開TCP連接中時間等待套接字的快速恢復,默認值為0,表示關閉。

tcp_syn_retries:整數

默認值為5

對於壹個新的連接,內核在決定放棄之前應該發送多少個SYN連接請求。不應大於255,默認值為5,對應的時間約為180秒。(對於負載重,物理通信好的網絡,這個值偏高,可以修改為2。該值僅用於外部連接,傳入連接由tcp_retries1決定。)

tcp_synack_retries:整數

默認值為5

對於遠程連接請求SYN,內核會發送SYN+ACK數據報來確認收到最後壹個SYN連接請求包。這是所謂的三次握手機制的第二步。這裏決定了在放棄連接之前內核發送的SYN+ACK的數量。不應大於255,默認值為5,對應的時間約為180秒。(這個值可以根據上面的tcp_syn_retries來確定。)

tcp_keepalive_time:整數

默認值為7200(2小時)

當keepalive打開時,TCP發送keepalive消息的頻率。(由於目前網絡攻擊等因素,利用此進行的攻擊比較頻繁。有cu的朋友曾經提到,如果雙方建立連接,然後不發送任何數據或rst/fin消息,那麽持續時間是2小時,是不是空連接攻擊?Tcp_keepalive_time就是為了防止這種情況。我做nat服務時的個人修改值是1800秒)

tcp_keepalive_probes:整數

默認值為9

TCP發送keepalive探測來確定連接斷開的次數。(註意:僅當SO_KEEPALIVE套接字選項打開時,才發送Keep-connected。次數默認不需要修改,但是這個值可以根據情況適當縮短。將其設置為5是合適的)

tcp_keepalive_intvl:整數

默認值為75

將探測消息的頻率乘以tcp_keepalive_probes,得到終止自探測開始以來沒有響應的連接的時間。默認值為75秒,這意味著在大約11分鐘後不會丟棄任何活動連接。(對於普通應用,這個值有點太大,可以根據需要減小。特別是web服務器需要減小這個值,15是壹個比較合適的值)

然後執行以下命令使修改結果立即生效:/sbin/sysctl-p。

使用以下語句查看服務器的TCP狀態:

netstat-n | awk '/^tcp/ { ++ s[$ nf]} end { for(a in s)print a,S[a]} '

三個。解決打開文件過多的問題

有兩種情況會出現打開文件過多的問題:

壹種是在搜索時,主要是因為索引在創建後被移動了。如果在創建索引時沒有出現此錯誤,則通常在搜索時也不會出現。如果出現,有兩種處理方式。壹種是修改合並因子和最小合並因子,並使用。

索引作者。Optimize()優化索引,這將把索引文件的數量減少到文件系統的限制;另壹種方法是修改操作系統中打開文件的數量。該方法如下:

根據最大打開文件數的要求設置系統,並檢查/proc/sys/fs/file-max文件,確認最大打開文件數設置正確。配置操作如下:

# cat /proc/sys/fs/file-max

如果設置值太小,請將/etc/sysctl.conf文件中的變量修改為適當的值。這將在每次重新啟動後生效。

# echo 65535 & gt/proc/sys/fs/file-max

編輯文件/etc/sysctl.conf並插入以下行。

fs.file-max = 65535

執行sysctl–p以生效

設置ulimit–n 65535

在/etc/security/limits.conf文件中設置打開文件的最大數量,以下是提示:

#

添加下面壹行。

* -第65535號文件

這壹行將每個用戶打開文件的默認數量設置為2048。註意“nofile”項有兩個可能的限制。項下是硬的和軟的。為了使修改後的最大打開文件數生效,必須設置這兩個限制。如果使用“-”字符設置,將同時設置硬設置和軟設置。

硬限制表示可以在軟限制中設置的最大值。軟限制是指當前系統生效的設定值。普通用戶可以降低硬限值。但不能增加。軟限制不能設置得高於硬限制。只有root用戶可以增加硬限制。

添加文件限制描述時,只需將當前值翻倍即可。比如要增加默認值1024,最好增加到2048,如果要繼續增加,需要設置為4096。

在另壹種情況下,創建索引時,有兩種可能。壹個是合並因子太小,導致創建的文件數量超過操作系統限制。此時,您可以修改合並因子或操作系統打開的文件數量。另壹個是合並因子受虛擬機內存限制無法調大,要索引的文檔數量很大。此時只能通過修改操作系統中打開文件數量的限制來解決。

以root身份在系統訪問高峰時執行以下腳本,可能的結果如下:

# lsof-n | awk“{ print $ 2 }”| sort | uniq-c | sort-NR | more

131 24204

57 24244

第壹行是打開文件句柄的數量,第二行是進程號。得到進程號後,我們可以通過ps命令得到進程的詳細信息。

ps -aef|grep 24204

MySQL 24204 24162 99 16:15?00:24:25 /usr/sbin/mysqld

系統默認程序打開的最大文件句柄值為1024。但是如果系統並發特別大,尤其是squid服務器,很可能會超過1024。這時候就需要調整系統參數來適應應用的變化。Linux有硬限制和軟限制。這兩個參數可以通過ulimit設置。方法如下:以root用戶身份運行以下命令:

Ulimit -HSn 4096在上面的命令中,h指定硬大小,s指定軟大小,n表示設置單個進程打開文件句柄的最大數量。設置了句柄數量後,系統重啟後將恢復默認值。如果您想永久保留它,請使用/etc /etc/security/limits.conf

  • 上一篇:javaScript中怎麽設置”來自網頁的消息“如圖:
  • 下一篇:開源代碼是不是去中心化怎麽查詢
  • copyright 2024編程學習大全網