|
1、下載log4j下載1.2以后的版本
下載地址:http://logging.apache.org/log4j/1.2/download.html
2、下載tomcat-juli.jar,tomcat-juli-adapters.jar
使用LOG4J來(lái)接管tomcat6.0.18的日志文件必須要下載兩個(gè)文件:tomcat-juli.jar,tomcat-juli-adapters.jar。
下載地址為:http://www.apache.org/dist/tomcat/tomcat-6/v6.0.18/bin/extras/ (如果tomcat為其他版本,請(qǐng)下載對(duì)應(yīng)版本的類包)
1、修改${catalina.home}/conf/context.xml
修改:<Context >為<Context swallowOutput="true" >只有這樣才能完全的把tomcat的stdout給接管過(guò)來(lái)。這一步很關(guān)鍵 在官網(wǎng)及網(wǎng)上找了許多資料都沒(méi)有提及。
2、復(fù)制log4j.jar到${catalina.home}/lib下
3、復(fù)制tomcat-juli-adapters.jar到${catalina.home}/lib下
4、復(fù)制tomcat-juli.jar到${catalina.home}/bin下,在該目錄會(huì)存在該文件,覆蓋 即可
5、建立log4j.properties,并把其放到${catalina.home}/lib下
在維護(hù)服務(wù)器時(shí)常常需要用到linux Shell命令,將常用的寫在這里備查:
telnet 10.10.50.122 7070
nslookup 查看域名解析
netstat -anp 顯示系統(tǒng)端口使用情況 a表示全部socket n不解析名稱 p顯示PID
lsof -i :端口 顯示占用該端口的進(jìn)程情況
last
history
scp root@10.10.10.11:/home/asd/we.zip /home/we/ scp文件傳輸
w 當(dāng)前登錄用戶
ps -ef|grep java 不解釋!
查看機(jī)器吞吐量(throughput)
sudo ifconfig eth0
iftop 監(jiān)視網(wǎng)卡即時(shí)吞吐量
iptraf 監(jiān)視網(wǎng)卡即時(shí)吞吐量
iostat 磁盤吞吐量查看
iostat 結(jié)果解釋 * rrqm/s: 每秒進(jìn)行 merge 的讀操作數(shù)目。即 delta(rmerge)/s * wrqm/s: 每秒進(jìn)行 merge 的寫操作數(shù)目。即 delta(wmerge)/s * r/s: 每秒完成的讀 I/O 設(shè)備次數(shù)。即 delta(rio)/s * w/s: 每秒完成的寫 I/O 設(shè)備次數(shù)。即 delta(wio)/s * rsec/s: 每秒讀扇區(qū)數(shù)。即 delta(rsect)/s * wsec/s: 每秒寫扇區(qū)數(shù)。即 delta(wsect)/s * rkB/s: 每秒讀K字節(jié)數(shù)。是 rsect/s 的一半,因?yàn)槊可葏^(qū)大小為512字節(jié)。(需要計(jì)算) * wkB/s: 每秒寫K字節(jié)數(shù)。是 wsect/s 的一半。(需要計(jì)算) * avgrq-sz: 平均每次設(shè)備I/O操作的數(shù)據(jù)大小 (扇區(qū))。delta(rsect+wsect)/delta(rio+wio) * avgqu-sz: 平均I/O隊(duì)列長(zhǎng)度。即 delta(aveq)/s/1000 (因?yàn)閍veq的單位為毫秒)。 * await: 平均每次設(shè)備I/O操作的等待時(shí)間 (毫秒)。即 delta(ruse+wuse)/delta(rio+wio) * svctm: 平均每次設(shè)備I/O操作的服務(wù)時(shí)間 (毫秒)。即 delta(use)/delta(rio+wio) * %util: 一秒中有百分之多少的時(shí)間用于 I/O 操作,或者說(shuō)一秒中有多少時(shí)間 I/O 隊(duì)列是非空的。即 delta(use)/s/1000 (因?yàn)閡se的單位為毫秒)
df -m 硬盤使用情況
free -m 內(nèi)存使用情況
top 查看CPU使用情況
關(guān)于 load average 一般來(lái)說(shuō)只要每個(gè)CPU的當(dāng)前活動(dòng)進(jìn)程數(shù)不大于3那么系統(tǒng)的性能就是良好的,如果每個(gè)CPU的任務(wù)數(shù)大于5,那么就表示這臺(tái)機(jī)器的性能有嚴(yán)重問(wèn)題。 對(duì)于上面的例子來(lái)說(shuō),假設(shè)系統(tǒng)有兩個(gè)CPU,那么其每個(gè)CPU的當(dāng)前任務(wù)數(shù)為:8.13/2=4.065。這表示該系統(tǒng)的性能是可以接受的。
查看機(jī)器硬件信息
測(cè)試機(jī)器的硬件信息: 查看CPU信息(型號(hào)) # cat /proc/cpuinfo | grep name | cut -f2 -d: | uniq -c 8 Intel(R) Xeon(R) CPU E5410 @ 2.33GHz (看到有8個(gè)邏輯CPU, 也知道了CPU型號(hào)) # cat /proc/cpuinfo | grep physical | uniq -c 4 physical id : 0 4 physical id : 1 (說(shuō)明實(shí)際上是兩顆4核的CPU) # getconf LONG_BIT 32 (說(shuō)明當(dāng)前CPU運(yùn)行在32bit模式下, 但不代表CPU不支持64bit) # cat /proc/cpuinfo | grep flags | grep ' lm ' | wc -l 8 (結(jié)果大于0, 說(shuō)明支持64bit計(jì)算. lm指long mode, 支持lm則是64bit) 再完整看cpu詳細(xì)信息, 不過(guò)大部分我們都不關(guān)心而已. # dmidecode | grep 'Processor Information' 查看內(nèi) 存信息 # cat /proc/meminfo # uname -a Linux euis1 2.6.9-55.ELsmp #1 SMP Fri Apr 20 17:03:35 EDT 2007 i686 i686 i386 GNU/Linux (查看當(dāng)前操作系統(tǒng)內(nèi)核信息) # cat /etc/issue | grep Linux Red Hat Enterprise Linux AS release 4 (Nahant Update 5) (查看當(dāng)前操作系統(tǒng)發(fā)行版信息) 查看機(jī)器型號(hào) # dmidecode | grep "Product Name" 查看網(wǎng)卡信息 # dmesg | grep -i eth
du -ms /usr/local/jdk 查看文件夾使用的空間大小
du -sm * | sort -n 當(dāng)前路徑下各文件夾大小,并排序顯示
Ubuntu Linux系統(tǒng)環(huán)境變量配置文件介紹在Ubuntu中有如下幾個(gè)文件可以設(shè)置環(huán)境變量
/etc/profile:在登錄時(shí),操作系統(tǒng)定制用戶環(huán)境時(shí)使用的第一個(gè)文件,此文件為系統(tǒng)的每個(gè)用戶設(shè)置環(huán)境信息,當(dāng)用戶第一次登錄時(shí),該文件被執(zhí)行。
/etc/environment:在登錄時(shí)操作系統(tǒng)使用的第二個(gè)文件,系統(tǒng)在讀取你自己的 profile前,設(shè)置環(huán)境文件的環(huán)境變量。
~/.profile:在登錄時(shí)用到的第三個(gè)文件是.profile文件,每個(gè)用戶都可使用該文件輸入專用于自己使用的shell信息,當(dāng)用戶登錄時(shí),該文件僅僅執(zhí)行一次!默認(rèn)情況下,他設(shè)置一些環(huán)境變量,執(zhí)行用戶的.bashrc文件。
/etc/bashrc:為每一個(gè)運(yùn)行bash shell的用戶執(zhí)行此文件.當(dāng)bash shell被打開時(shí),該文件被讀取.
~/.bashrc:該文件包含專用于你的bash shell的bash信息,當(dāng)?shù)卿洉r(shí)以及每次打開新的shell時(shí),該該文件被讀取。
使用source命令刷新環(huán)境變量
首先下載libSVM的最新版本,他們的主頁(yè)在此http://www.csie.ntu.edu.tw/~cjlin/libsvm/index.html。源碼和手冊(cè)都有,真是好人啊!手冊(cè)寫的清晰明了通俗易懂,盡管是英文的。想快速上手看具體操作步驟的直接翻到appendix吧。
在linux下部署libSVM是簡(jiǎn)單到不能再簡(jiǎn)單了,make一下就完事兒了。什么!你沒(méi)有g(shù)cc,沒(méi)有python,沒(méi)有g(shù)nuplot?自己apt-get去吧。
用windows的童鞋,首先你們要安裝python和gnuplot。python的主頁(yè)為http://www.python.org/,安裝程序可以在這里下載。gnuplot的主頁(yè)為http://www.gnuplot.info/download.html,安裝程序在這里。python是需要安裝的,gnuplot是綠色軟件找個(gè)地方解壓就行。如果你網(wǎng)速快的話強(qiáng)烈推薦pythonxy這個(gè)東西,python科學(xué)計(jì)算相關(guān)的軟件包基本都包括了,有功夫好好學(xué)吧開源的哦。
需要手工添加環(huán)境變量,保證python根目錄,gnuplot的bin目錄,libsvm的windows目錄都在path里面,我的電腦上是c:\python26,C:\Python26\gnuplot\bin,c:\Users\gongwei\program\libsvm-2.9\windows\。然后還要改libSVM\tools目錄下的easy.py和grid.py文件,把gnuplot路徑那一項(xiàng)改成gnuplot_exe = r"C:\Python26\gnuplot\bin\pgnuplot.exe"。gnuplot有三個(gè)exe,這里只能用這個(gè)因?yàn)樗梢酝ㄟ^(guò)管道輸入數(shù)據(jù),另外兩個(gè)都不行。都弄完之后,嘗試運(yùn)行一下吧:
python easy.py train.1 test.1
其中train.1和test.1都是作者提供的測(cè)試數(shù)據(jù)。可以在這里下載guide里面的數(shù)據(jù),這里還有更多。
好啦下面就等著彈窗吧,會(huì)彈出一個(gè)gnuplot的窗口,里面的圖像會(huì)隨著網(wǎng)絡(luò)的訓(xùn)練逐步更新。大功告成!
libSVM的使用很簡(jiǎn)單,會(huì)用python的可以參考easy.py和grid.py寫自己的script。libSVM使用c++編寫,提供java的源碼,還支持R (also Splus), MATLAB, Perl, Ruby, Weka, Common LISP, CLISP, Haskell, LabVIEW的調(diào)用。想用的話基本都有自己適合的環(huán)境。
最后還是要感謝libSVM的幾位作者們,寫出這么好的軟件。向臺(tái)灣同胞致敬!
系統(tǒng)之前一直用的是maven-artifact-ant-2.0.4-dep.jar,但最近對(duì)一些jar包支持不好,運(yùn)行ant腳本出現(xiàn)以下問(wèn)題:
[artifact:dependencies] [WARNING] POM for 'ch.qos.logback:logback-classic:pom:0.9.9' is invalid. It will be ignored for artifact resolution. Reason: The POM expression: ${parent.version} could not be evaluated. Reason: ch.qos.logback:logback-classic:jar:${parent.version} references itself.這兩天調(diào)試一個(gè)asp.net程序,用戶在首頁(yè)登錄成功后,系統(tǒng)會(huì)在客戶端添加一個(gè)Cookie,然后重定向到首頁(yè),首頁(yè)檢測(cè)到這個(gè)Cookie后就屏蔽掉登錄。我在本機(jī)調(diào)試的時(shí)候本能的用localhost,結(jié)果每次都不成功,Cookie不起作用。后來(lái)在hosts文件中將127.0.0.1 隨便映射成一個(gè)域名,一試就好了。到現(xiàn)在也不明白這是為什么,莫非是微軟覺(jué)得localhost的程序給自己添加Cookie是多此一舉?