1、首先我們打開XShell工具,點擊頂部的打開選項,
B. resin 配置jvm 參數 在哪個文件
Resin配置優化
1. Resin安裝及自啟動設置
創建開機自動啟動
cp contrib/init.resin /etc/rc.d/init.d/resin
vi /etc/rc.d/init.d/resin
設置正確的路徑
java_HOME=/usr/local/jdk1.6.0_13
RESIN_HOME=/usr/local/resin-3.1.8
賦予可執行許可權
chmod +x /etc/rc.d/init.d/resin
加為自啟動服務:
chkconfig --add resin
chkconfig --level 35 resin on
service resin start
解決啟動服務錯誤: log_daemon_msg: command not found
將該函數調用到的地方注釋掉並用echo 來代替。如:
log_daemon_msg 「resin start」
改為
echo 「resin start」
修改好後可以用service resin start/stop/restart來執行相關的命令。
2. 設置resin.conf參數及JVM設置
<jvm-arg>-Xmx4096m</jvm-arg>
<jvm-arg>-Xms4096m</jvm-arg>
<jvm-arg>-Xmn512M</jvm-arg>
<jvm-arg>-Xss50M</jvm-arg>
<jvm-arg>-XX:PermSize=768M</jvm-arg>
<jvm-arg>-XX:MaxPermSize=768M</jvm-arg>
<jvm-arg>-XX:SurvivorRatio=8</jvm-arg>
<jvm-arg>-XX:MaxTenuringThreshold=7</jvm-arg>
<jvm-arg>-XX:GCTimeRatio=19</jvm-arg>
<jvm-arg>-XX:+UseParNewGC</jvm-arg>
<jvm-arg>-XX:+UseConcMarkSweepGC</jvm-arg>
<jvm-arg>-XX:+CMSPermGenSweepingEnabled</jvm-arg>
<jvm-arg>-XX:+CMSClassUnloadingEnabled</jvm-arg>
<jvm-arg>-XX:+UseCMSCompactAtFullCollection</jvm-arg>
<jvm-arg>-XX:CMSFullGCsBeforeCompaction=2</jvm-arg>
<jvm-arg>-XX:-CMSParallelRemarkEnabled</jvm-arg>
<jvm-arg>-XX:+DisableExplicitGC</jvm-arg>
<jvm-arg>-XX:=70</jvm-arg>
<jvm-arg>-XX:SoftRefLRUPolicyMSPerMB=0</jvm-arg>
<jvm-arg>-XX:+PrintClassHistogram</jvm-arg>
<jvm-arg>-XX:+PrintGCDetails</jvm-arg>
<jvm-arg>-XX:+PrintGCTimeStamps</jvm-arg> <jvm-arg>-XX:+</jvm-arg>
<jvm-arg>-XX:+PrintGCApplicationStoppedTime</jvm-arg>
<jvm-arg>-Xloggc:log/gc.log</jvm-arg>
<jvm-arg>-Xdebug</jvm-arg>
<jvm-arg>-Dcom.sun.management.jmxremote</jvm-arg>
內存設置配置:
<memory-free-min>5M</memory-free-min>
最大線程數
<!-- Maximum number of threads. -->
<thread-max>1024</thread-max>
<!-- Configures the socket timeout -->
<socket-timeout>65s</socket-timeout>
配置最活連接和超時時間
<!-- Configures the keepalive -->
<keepalive-max>2048</keepalive-max>
keepalive-timeout>15s</keepalive-timeout>
3. 配置jconsole監控JVM
$JAVA_HOME/jre/lib/management/jmxremote.password.template的文件是遠程連接時的設置用戶和密碼的文件,
cp $JAVA_HOME/jre/lib/management/jmxremote.password.template $JAVA_HOME/jconsole/jmxremote.password
chmod 600 $JAVA_HOME/jconsole/jmxremote.password
vi jmxremote.password
去掉#monitorRole RED前的注釋並將RED修改為你要設置的密碼。在resin.conf加入以下配置,其中被監控主機的IP需要和主機IP一致
<jvm-arg>-Dcom.sun.management.jmxremote.port=12345</jvm-arg>
<jvm-arg>-Dcom.sun.management.jmxremote.ssl=false</jvm-arg>
<jvm-arg>-Dcom.sun.management.jmxremote.access.file=/usr/local/jdk1.6.0_13/jre/lib/management/jmxremote.access</jvm-arg> <jvm-arg>-Dcom.sun.management.jmxremote.password.file=/usr/local/jdk1.6.0_13/jre/lib/management/jmxremote.password</jvm-arg>
<jvm-arg>-Dcom.sun.management.jmxremote.authenticate=true</jvm-arg>
<jvm-arg>-Djava.rmi.server.hostname=192.168.100.9</jvm-arg>
在客戶端基本不用怎麼設置,在 JDK 安裝目錄中(<JDK_HOME>/bin/jconsole.exe)啟動 jconsole.exe 就可以打開主界面。輸入192.168.100.9:12345 用戶名和密碼即可看到監控界面中關於jvm的相關信息。操作
雙擊jconsole.exe啟動連接對話框
4. 配置Resin後台管理
<management path=「${resin.root}/admin」>
<user name=「admin」 password=「MnHpobDOvrMOyQFWoa5w7A==」/>
<resin:if test=「${resin.professional}」>
<deploy-service/>
<jmx-service/>
<log-service/>
<xa-log-service/>
</resin:if>
</management>
<web-app id=「/resin-admin」 root-directory=「${resin.home}/php/admin」>
<!--
- Administration application /resin-admin-->
<prologue>
<resin:set var=「resin_admin_user」 value=「admin」/>
<resin:set var=「resin_admin_password」 value=「password」/>
<resin:set var=「resin_admin_external」 value=「true」/>
<resin:set var=「resin_admin_insecure」 value=「true」/>
</prologue>
</web-app>
二。 網路優化部分
1. 減少TCP連接中的TIME-WAIT或 CLOSE-WAIT包
Vim /etc/sysctl.conf加入以下配置
net.ipv4.tcp_syncookies = 1
net.ipv4.tcp_tw_reuse = 1
net.ipv4.tcp_tw_recycle = 1
net.ipv4.tcp_fin_timeout = 15
net.ipv4.tcp_keepalive_time = 1200
net.ipv4.tcp_keepalive_probes = 5
net.ipv4.tcp_keepalive_intvl = 15
配置屬性說明:
net.ipv4.tcp_syncookies = 1 表示開啟SYN Cookies。當出現SYN等待隊列溢出時,啟用cookies來處理,可防範少量SYN攻擊,默認為0,表示關閉;
net.ipv4.tcp_tw_reuse = 1 表示開啟重用。允許將TIME-WAIT sockets重新用於新的TCP連接,默認為0,表示關閉;
net.ipv4.tcp_tw_recycle = 1 表示開啟TCP連接中TIME-WAIT sockets的快速回收,默認為0,表示關閉。
tcp_syn_retries :INTEGER
默認值是5
對於一個新建連接,內核要發送多少個 SYN 連接請求才決定放棄。不應該大於255,默認值是5,對應於180秒左右時間。(對於大負載而物理通信良好的網路而言,這個值偏高,可修改為2.這個值僅僅是針對對外的連接,對進來的連接,是由tcp_retries1 決定的)
tcp_synack_retries :INTEGER
默認值是5
對於遠端的連接請求SYN,內核會發送SYN + ACK數據報,以確認收到上一個 SYN連接請求包。這是所謂的三次握手( threeway handshake)機制的第二個步驟。這里決定內核在放棄連接之前所送出的 SYN+ACK 數目。不應該大於255,默認值是5,對應於180秒左右時間。(可以根據上面的 tcp_syn_retries 來決定這個值)
tcp_keepalive_time :INTEGER
默認值是7200(2小時)
當keepalive打開的情況下,TCP發送keepalive消息的頻率。(由於目前網路攻擊等因素,造成了利用這個進行的攻擊很頻繁,曾經也有cu的朋友提到過,說如果2邊建立了連接,然後不發送任何數據或者rst/fin消息,那麼持續的時間是不是就是2小時,空連接攻擊? tcp_keepalive_time就是預防此情形的。我個人在做nat服務的時候的修改值為1800秒)
tcp_keepalive_probes:INTEGER
默認值是9
TCP發送keepalive探測以確定該連接已經斷開的次數。(注意:保持連接僅在SO_KEEPALIVE套接字選項被打開是才發送。次數默認不需要修改,當然根據情形也可以適當地縮短此值。設置為5比較合適)
tcp_keepalive_intvl:INTEGER
默認值為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]}'
三。 解決Too many open files問題
Too many open files 問題出現有兩種情況:
一種是在搜索的時候出現,多半是由於索引創建完畢之後被移動過,如果創建索引的時候不出現該錯誤,搜索的時候也一般是不會出現的。如果出現了,有兩種處理辦法,一種是修改合並因子和最小合並因子,並且使用
IndexWriter.Optimize() 優化索引,這樣會將索引文件數量減少到文件系統限制之內;另外一種辦法是修改操作系統的打開文件數量限制。方法如下:
按照最大打開文件數量的需求設置系統, 並且通過檢查/proc/sys/fs/file-max文件來確認最大打開文件數已經被正確設置。 配置操作如下:
# cat /proc/sys/fs/file-max
如果設置值太小, 修改文件/etc/sysctl.conf的變數到合適的值。 這樣會在每次重啟之後生效。
# echo 65535 > /proc/sys/fs/file-max
編輯文件/etc/sysctl.conf,插入下行。
fs.file-max = 65535
執行sysctl –p生效
設置ulimit –n 65535
在/etc/security/limits.conf文件中設置最大打開文件數, 下面是一行提示:
#
添加如下這行。
* - nofile 65535
這行設置了每個用戶的默認打開文件數為2048。 注意「nofile」項有兩個可能的限制措施。就是項下的hard和soft。 要使修改過得最大打開文件數生效,必須對這兩種限制進行設定。 如果使用「-」字元設定, 則hard和soft設定會同時被設定。
硬限製表明soft限制中所能設定的最大值。 soft限制指的是當前系統生效的設置值。 hard限制值可以被普通用戶降低。但是不能增加。 soft限制不能設置的比hard限制更高。 只有root用戶才能夠增加hard限制值。
當增加文件限制描述,可以簡單的把當前值雙倍。 例子如下, 如果你要提高默認值1024, 最好提高到2048, 如果還要繼續增加, 就需要設置成4096。
另外一種情況是在創建索引的時候,也有兩種可能,一種是合並因子太小,導致創建文件數量超過操作系統限制,這時可以修改合並因子,也可以修改操作系統的打開文件數限制;另外一種是合並因子受虛擬機內存的限制,無法調整到更大,而 需要索引的doc 數量又非常的大,這個時候就只能通過修改操作系統的打開文件數限制來解決了。
在系統訪問高峰時間以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/security/limits.conf
C. linux ~怎麼查看resin控制台
1 從 http://www.caucho.com/download/ 下載resin
2 檢查你的linux環境:查看是否安裝了 jdk1.5 或以上版本,是否安裝了perl。
3 tar -vzxf resin-3.0.23.tar.gz 到你想放置的目錄
4 進入resin-3.0.23的安裝目錄,按照次序執行下列命令
./configure
make
make install
5 在確保環境變數JAVA_HOME已經設置的情況下,進入resin-3.0.23/bin目錄,執行下列命令
httpd.sh
6 在瀏覽器中用 http://hostip:8080 即可訪問到resin的默認頁面
7 修改和製作啟動腳本,讓linux啟動的時候,resin能夠自動運行
7.1 復制resin-3.0.23/bin下的httpd.sh到 /etc/rc.d/init.d/ 下面,並更名為resin
7.2 在 /etc/rc.d/init.d/ 下打開resin腳本,把相關的JAVA_HOME和RESIN_HOME的選項去掉注釋,並正確設置這兩個環境變數
7.3 將其中wrapper.pl位置處的路徑修改一下,改為$RESIN_HOME/bin/wrapper.pl
8 chkconfig --add resin,將resin加入到系統自啟動服務中
9 重啟動機器完畢後,用 http://hostip:8080 即可訪問到resin的默認頁面,就是你要訪問的控制台
D. 虛擬機 Linux 網路下面網路如何配置
可以通過橋接網路:在這種模式下,VMWare虛擬出來的操作系統就像是版區域網中的一台獨立的主權機,它可以訪問網內任何一台機器。
步驟如下:
1、首先看一下虛擬機的網路狀態,顯示網線斷開。
E. linux下如何配置網路
1、首先我們用root用戶登錄linux桌面系統。