賢仁居 George Gong
          It's never too late to learn
          posts - 32,comments - 16,trackbacks - 0
          http://blog.csdn.net/function413/article/details/8485822

          一、下載所需類包 (可在http://download.csdn.net/detail/function413/4977751中下載tomcat log4j.rar 里面包含以下JAR包)

          1、下載log4j下載1.2以后的版本

          下載地址:http://logging.apache.org/log4j/1.2/download.html

          2、下載tomcat-juli.jartomcat-juli-adapters.jar

          使用LOG4J來接管tomcat6.0.18的日志文件必須要下載兩個文件:tomcat-juli.jartomcat-juli-adapters.jar

          下載地址為:http://www.apache.org/dist/tomcat/tomcat-6/v6.0.18/bin/extras/ (如果tomcat為其他版本,請下載對應版本的類包)

          二、修改相關配置文件

          1、修改${catalina.home}/conf/context.xml

          修改:<Context >為<Context swallowOutput="true" >只有這樣才能完全的把tomcat的stdout給接管過來。這一步很關鍵 在官網及網上找了許多資料都沒有提及。

          2、復制log4j.jar${catalina.home}/lib

          3、復制tomcat-juli-adapters.jar${catalina.home}/lib

          4、復制tomcat-juli.jar${catalina.home}/bin下,在該目錄會存在該文件,覆蓋 即可

          5、建立log4j.properties,并把其放到${catalina.home}/lib

          posted @ 2013-11-21 14:43 George Gong 閱讀(2039) | 評論 (0)編輯 收藏

          在維護服務器時常常需要用到linux Shell命令,將常用的寫在這里備查:

          telnet 10.10.50.122 7070

          nslookup 查看域名解析

          netstat -anp 顯示系統端口使用情況 a表示全部socket n不解析名稱 p顯示PID

          lsof -i :端口 顯示占用該端口的進程情況

          last

          history

          scp root@10.10.10.11:/home/asd/we.zip /home/we/ scp文件傳輸

          w 當前登錄用戶

          ps -ef|grep java 不解釋!

          查看機器吞吐量(throughput)

          sudo ifconfig eth0

          iftop 監視網卡即時吞吐量

          iptraf 監視網卡即時吞吐量

          iostat 磁盤吞吐量查看

          iostat 結果解釋
          * rrqm/s:   每秒進行 merge 的讀操作數目。即 delta(rmerge)/s
          * wrqm/s:   每秒進行 merge 的寫操作數目。即 delta(wmerge)/s
          * r/s:       每秒完成的讀 I/O 設備次數。即 delta(rio)/s
          * w/s:       每秒完成的寫 I/O 設備次數。即 delta(wio)/s
          * rsec/s:    每秒讀扇區數。即 delta(rsect)/s
          * wsec/s:   每秒寫扇區數。即 delta(wsect)/s
          * rkB/s:     每秒讀K字節數。是 rsect/s 的一半,因為每扇區大小為512字節。(需要計算)
          * wkB/s:     每秒寫K字節數。是 wsect/s 的一半。(需要計算)
          * avgrq-sz: 平均每次設備I/O操作的數據大小 (扇區)。delta(rsect+wsect)/delta(rio+wio)
          * avgqu-sz: 平均I/O隊列長度。即 delta(aveq)/s/1000 (因為aveq的單位為毫秒)。
          * await:     平均每次設備I/O操作的等待時間 (毫秒)。即 delta(ruse+wuse)/delta(rio+wio)
          * svctm:    平均每次設備I/O操作的服務時間 (毫秒)。即 delta(use)/delta(rio+wio)
          * %util:    一秒中有百分之多少的時間用于 I/O 操作,或者說一秒中有多少時間 I/O 隊列是非空的。即 delta(use)/s/1000 (因為use的單位為毫秒)
          

          df -m 硬盤使用情況

          free -m 內存使用情況

          top 查看CPU使用情況

          關于 load   average
          一般來說只要每個CPU的當前活動進程數不大于3那么系統的性能就是良好的,如果每個CPU的任務數大于5,那么就表示這臺機器的性能有嚴重問題。
          對于上面的例子來說,假設系統有兩個CPU,那么其每個CPU的當前任務數為:8.13/2=4.065。這表示該系統的性能是可以接受的。

          查看機器硬件信息

          測試機器的硬件信息:
          查看CPU信息(型號)
          # cat /proc/cpuinfo | grep name | cut -f2 -d: | uniq -c
          8  Intel(R) Xeon(R) CPU            E5410   @ 2.33GHz
          (看到有8個邏輯CPU, 也知道了CPU型號)
          # cat /proc/cpuinfo | grep physical | uniq -c
          4 physical id      : 0
          4 physical id      : 1
          (說明實際上是兩顆4核的CPU)
          # getconf LONG_BIT
          32
          (說明當前CPU運行在32bit模式下, 但不代表CPU不支持64bit)
          # cat /proc/cpuinfo | grep flags | grep ' lm ' | wc -l
          8
          (結果大于0, 說明支持64bit計算. lm指long mode, 支持lm則是64bit)
          再完整看cpu詳細信息, 不過大部分我們都不關心而已.
          # dmidecode | grep 'Processor Information'
          查看內 存信息
          # 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
          (查看當前操作系統內核信息)
          # cat /etc/issue | grep Linux
          Red Hat Enterprise Linux AS release 4 (Nahant Update 5)
          (查看當前操作系統發行版信息)
          查看機器型號
          # dmidecode | grep "Product Name"
          查看網卡信息
          # dmesg | grep -i eth
          

          du -ms /usr/local/jdk 查看文件夾使用的空間大小

          du -sm * | sort -n 當前路徑下各文件夾大小,并排序顯示

          posted @ 2010-10-18 11:40 George Gong 閱讀(479) | 評論 (1)編輯 收藏

          Ubuntu Linux系統環境變量配置文件介紹在Ubuntu中有如下幾個文件可以設置環境變量

          /etc/profile:在登錄時,操作系統定制用戶環境時使用的第一個文件,此文件為系統的每個用戶設置環境信息,當用戶第一次登錄時,該文件被執行。

          /etc/environment:在登錄時操作系統使用的第二個文件,系統在讀取你自己的 profile前,設置環境文件的環境變量。

          ~/.profile:在登錄時用到的第三個文件是.profile文件,每個用戶都可使用該文件輸入專用于自己使用的shell信息,當用戶登錄時,該文件僅僅執行一次!默認情況下,他設置一些環境變量,執行用戶的.bashrc文件。

          /etc/bashrc:為每一個運行bash shell的用戶執行此文件.當bash shell被打開時,該文件被讀取.

          ~/.bashrc:該文件包含專用于你的bash shell的bash信息,當登錄時以及每次打開新的shell時,該該文件被讀取。

          使用source命令刷新環境變量

          posted @ 2010-10-18 11:39 George Gong 閱讀(380) | 評論 (0)編輯 收藏
          原文地址: http://ifelseif.blog.sohu.com/145381162.html

          聽說支持向量機是比神經網絡還牛X的分類器,我就拿來玩了玩,用國立臺灣大學Chih-Chung Chang和Chih-Jen Lin編寫的libsvm函數庫。國內的網站很多帖子都抄來抄去的,犯錯bug都一樣。哎,希望此貼可以正本清源。

              首先下載libSVM的最新版本,他們的主頁在此http://www.csie.ntu.edu.tw/~cjlin/libsvm/index.html源碼手冊都有,真是好人啊!手冊寫的清晰明了通俗易懂,盡管是英文的。想快速上手看具體操作步驟的直接翻到appendix吧。

              在linux下部署libSVM是簡單到不能再簡單了,make一下就完事兒了。什么!你沒有gcc,沒有python,沒有gnuplot?自己apt-get去吧。

              用windows的童鞋,首先你們要安裝python和gnuplot。python的主頁為http://www.python.org/,安裝程序可以在這里下載。gnuplot的主頁為http://www.gnuplot.info/download.html,安裝程序在這里。python是需要安裝的,gnuplot是綠色軟件找個地方解壓就行。如果你網速快的話強烈推薦pythonxy這個東西,python科學計算相關的軟件包基本都包括了,有功夫好好學吧開源的哦。

              需要手工添加環境變量,保證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路徑那一項改成gnuplot_exe = r"C:\Python26\gnuplot\bin\pgnuplot.exe"。gnuplot有三個exe,這里只能用這個因為它可以通過管道輸入數據,另外兩個都不行。都弄完之后,嘗試運行一下吧:

              python easy.py train.1 test.1

              其中train.1和test.1都是作者提供的測試數據。可以在這里下載guide里面的數據,這里還有更多。

              好啦下面就等著彈窗吧,會彈出一個gnuplot的窗口,里面的圖像會隨著網絡的訓練逐步更新。大功告成!

              libSVM的使用很簡單,會用python的可以參考easy.py和grid.py寫自己的script。libSVM使用c++編寫,提供java的源碼,還支持R (also Splus), MATLAB, Perl, Ruby, Weka, Common LISP, CLISP, Haskell, LabVIEW的調用。想用的話基本都有自己適合的環境。

              最后還是要感謝libSVM的幾位作者們,寫出這么好的軟件。向臺灣同胞致敬!

          posted @ 2010-09-19 22:25 George Gong 閱讀(886) | 評論 (0)編輯 收藏

          數學之美 系列九 -- 如何確定網頁和查詢的相關性



          [我們已經談過了如何自動下載網頁如何建立索引如何衡量網頁的質量(Page Rank)。我們今天談談如何確定一個網頁和某個查詢的相關性。了解了這四個方面,一個有一定編程基礎的讀者應該可以寫一個簡單的搜索引擎了,比如為您所在的學校或院系建立一個小的搜索引擎。]

          我們還是看上回的例子,查找關于“原子能的應用”的網頁。我們第一步是在索引中找到包含這三個詞的網頁(詳見關于布爾運算的系列)。現在任何一個搜索引擎都包含幾十萬甚至是上百萬個多少有點關系的網頁。那么哪個應該排在前面呢?顯然我們應該根據網頁和查詢“原子能的應用”的相關性對這些網頁進行排序。因此,這里的關鍵問題是如何度量網頁和查詢的相關性。

          我們知道,短語“原子能的應用”可以分成三個關鍵詞:原子能、的、應用。根據我們的直覺,我們知道,包含這三個詞多的網頁應該比包含它們少的網頁相關。當然,這個辦法有一個明顯的漏洞,就是長的網頁比短的網頁占便宜,因為長的網頁總的來講包含的關鍵詞要多些。因此我們需要根據網頁的長度,對關鍵詞的次數進行歸一化,也就是用關鍵詞的次數除以網頁的總字數。我們把這個商稱為“關鍵詞的頻率”,或者“單文本詞匯頻率”(Term Frequency),比如,在某個一共有一千詞的網頁中“原子能”、“的”和“應用”分別出現了 2 次、35 次 和 5 次,那么它們的詞頻就分別是 0.002、0.035 和 0.005。 我們將這三個數相加,其和 0.042 就是相應網頁和查詢“原子能的應用”
          相關性的一個簡單的度量。概括地講,如果一個查詢包含關鍵詞 w1,w2,...,wN, 它們在一篇特定網頁中的詞頻分別是: TF1, TF2, ..., TFN。 (TF: term frequency)。 那么,這個查詢和該網頁的相關性就是:
          TF1 + TF2 + ... + TFN。

          讀者可能已經發現了又一個漏洞。在上面的例子中,詞“的”站了總詞頻的 80% 以上,而它對確定網頁的主題幾乎沒有用。我們稱這種詞叫“應刪除詞”(Stopwords),也就是說在度量相關性是不應考慮它們的頻率。在漢語中,應刪除詞還有“是”、“和”、“中”、“地”、“得”等等幾十個。忽略這些應刪除詞后,上述網頁的相似度就變成了0.007,其中“原子能”貢獻了0.002,“應用”貢獻了 0.005。

          細心的讀者可能還會發現另一個小的漏洞。在漢語中,“應用”是個很通用的詞,而“原子能”是個很專業的詞,后者在相關性排名中比前者重要。因此我們需要給漢語中的每一個詞給一個權重,這個權重的設定必須滿足下面兩個條件:

          1. 一個詞預測主題能力越強,權重就越大,反之,權重就越小。我們在網頁中看到“原子能”這個詞,或多或少地能了解網頁的主題。我們看到“應用”一次,對主題基本上還是一無所知。因此,“原子能“的權重就應該比應用大。

          2. 應刪除詞的權重應該是零。

          我們很容易發現,如果一個關鍵詞只在很少的網頁中出現,我們通過它就容易鎖定搜索目標,它的權重也就應該大。反之如果一個詞在大量網頁中出現,我們看到它仍然不很清楚要找什么內容,因此它應該小。概括地講,假定一個關鍵詞 w 在 Dw 個網頁中出現過,那么 Dw 越大,w 的權重越小,反之亦然。在信息檢索中,使用最多的權重是“逆文本頻率指數” (Inverse document frequency 縮寫為IDF),它的公式為log(D/Dw)其中D是全部網頁數。比如,我們假定中文網頁數是D=10億,應刪除詞“的”在所有的網頁中都出現,即Dw=10億,那么它的IDF=log(10億/10億)= log (1) = 0。假如專用詞“原子能”在兩百萬個網頁中出現,即Dw=200萬,則它的權重IDF=log(500) =6.2。又假定通用詞“應用”,出現在五億個網頁中,它的權重IDF = log(2)
          則只有 0.7。也就只說,在網頁中找到一個“原子能”的比配相當于找到九個“應用”的匹配。利用 IDF,上述相關性計算個公式就由詞頻的簡單求和變成了加權求和,即 TF1*IDF1 + TF2*IDF2 +... + TFN*IDFN。在上面的例子中,該網頁和“原子能的應用”的相關性為 0.0161,其中“原子能”貢獻了 0.0126,而“應用”只貢獻了0.0035。這個比例和我們的直覺比較一致了。

          TF/IDF(term frequency/inverse document frequency) 的概念被公認為信息檢索中最重要的發明。在搜索、文獻分類和其他相關領域有廣泛的應用。講起 TF/IDF 的歷史蠻有意思。IDF 的概念最早是劍橋大學的斯巴克-瓊斯[注:她有兩個姓] (Karen Sparck Jones)提出來的。斯巴克-瓊斯 1972 年在一篇題為關鍵詞特殊性的統計解釋和她在文獻檢索中的應用的論文中提出IDF。遺憾的是,她既沒有從理論上解釋為什么權重IDF 應該是對數函數 log(D/Dw)(而不是其它的函數,比如平方根),也沒有在這個題目上作進一步深入研究,以至于在以后的很多文獻中人們提到 TF/IDF 時沒有引用她的論文,絕大多數人甚至不知道斯巴克-瓊斯的貢獻。同年羅賓遜寫了個兩頁紙的解釋,解釋得很不好。倒是后來康乃爾大學的薩爾頓(Salton)多次寫文章、寫書討論 TF/IDF 在信息檢索中的用途,加上薩爾頓本人的大名(信息檢索的世界大獎就是以薩爾頓的名字命名的)。很多人都引用薩爾頓的書,甚至以為這個信息檢索中最重要的概念是他提出的。當然,世界并沒有忘記斯巴克-瓊斯的貢獻,2004年,在紀念文獻學學報創刊 60 周年之際,該學報重印了斯巴克-瓊斯的大作。羅賓遜在同期期刊上寫了篇文章,用香農的信息論解釋 IDF,這回的解釋是對的,但文章寫的并不好、非常冗長(足足十八頁),把一個簡單問題搞復雜了。其實,信息論的學者們已經發現并指出,其實 IDF 的概念就是一個特定條件下、關鍵詞的概率分布的交叉熵(Kullback-Leibler Divergence)(詳見上一系列)。這樣,信息檢索相關性的度量,又回到了信息論。

          現在的搜索引擎對 TF/IDF 進行了不少細微的優化,使得相關性的度量更加準確了。當然,對有興趣寫一個搜索引擎的愛好者來講,使用 TF/IDF 就足夠了。 如果我們結合上網頁排名(Page Rank),那么給定一個查詢,有關網頁綜合排名大致由相關性和網頁排名乘積決定。
          posted @ 2010-09-19 19:45 George Gong 閱讀(227) | 評論 (0)編輯 收藏
          主站蜘蛛池模板: 贡嘎县| 比如县| 阳新县| 行唐县| 景东| 宣化县| 卢龙县| 柳州市| 巴林左旗| 个旧市| 湾仔区| 新安县| 吉首市| 岳普湖县| 左贡县| 博乐市| 垣曲县| 桐庐县| 五寨县| 安乡县| 阳信县| 五指山市| 兴义市| 武穴市| 建始县| 松溪县| 清流县| 博乐市| 汝州市| 鄂托克旗| 山东| 柳江县| 民丰县| 贵州省| 云霄县| 德令哈市| 宜阳县| 富民县| 高雄市| 兴城市| 博爱县|