日韩黑丝制服一区视频播放|日韩欧美人妻丝袜视频在线观看|九九影院一级蜜桃|亚洲中文在线导航|青草草视频在线观看|婷婷五月色伊人网站|日本一区二区在线|国产AV一二三四区毛片|正在播放久草视频|亚洲色图精品一区

分享

服務(wù)器維護(hù)常用命令(楊杰)

 WindySky 2017-04-13

一、    常用命令

pstree查看進(jìn)程樹??梢院芮宄目吹竭M(jìn)程之間的關(guān)系;

Top:查看各進(jìn)程的占用資源的情況;

du -h --max-depth=1 顯示當(dāng)前目錄中所有子目錄的大??;

w 查看服務(wù)器的load情況

bigip 在預(yù)發(fā)布機(jī)器上使用命令bigip sh ${ip/機(jī)器名} {username}” 可以檢查機(jī)器是在F5上狀態(tài)是disable還是enable.

gm.sh "curl http://localhost/monitor/ok.html"     在預(yù)發(fā)布機(jī)器上檢查各個(gè)服務(wù)器的健康檢查頁面。

gm.sh "ps amx | grep httpd | wc -l"   在預(yù)發(fā)布機(jī)器上檢查各個(gè)服務(wù)器的http鏈接數(shù)

 

二、    proc下的偽文件。 如:meminfo 檢查內(nèi)存信息,cpuinfo 內(nèi)核信息。

cat /proc/cpuinfo 檢查cpu的信息。我們的一些程序根據(jù)cpu內(nèi)核的數(shù)量做過優(yōu)化(如:memcached,假的多核可能會引起一些bug。)

如上圖 baike-web1 4核的,baike-web2是雙核超線程的。

擁有相同 physical id 的所有邏輯處理器共享同一個(gè)物理插座。每個(gè) physical id 代表一個(gè)唯一的物理封裝。Siblings 表示位于這一物理封裝上的邏輯處理器的數(shù)量,如果不存在表示1。每個(gè) core id 均代表一個(gè)唯一的處理器內(nèi)核。所有帶有相core id 的邏輯處理器均位于同一個(gè)處理器內(nèi)核上。如果有一個(gè)以上邏輯處理器擁有相同的 core id 和 physical id,則說明系統(tǒng)支持超線程(HT)技術(shù)。如果有兩個(gè)或兩個(gè)以上的邏輯處理器擁有相同的 physical id,但是 core id不同,則說明這是一個(gè)多內(nèi)核處理器。

 

    網(wǎng)絡(luò)連接

netstat: -t: 顯示TCP鏈接信息;-u: 顯示UDP鏈接信息;-n直接顯示ip,不做名稱轉(zhuǎn)換;-p: 顯示相應(yīng)的進(jìn)程PID以及名稱(要root權(quán)限)

如果要查看關(guān)于sockets更詳細(xì)占用信息等,可以使用lsof.

a)   netstat -anp|grep Java|grep 3306|wc –l檢查Java進(jìn)程中數(shù)據(jù)庫的鏈接數(shù)量

b)   netstat -na|grep ESTABLISHED|awk '{print $4}'|grep ":80$"|wc –l  檢查已經(jīng)建立的80端口的連接數(shù)

c)         netstat -na |grep “:2088”  檢查搜索引擎的連接數(shù)

 

、    dump java進(jìn)程堆棧

a)   kill -3 ${java進(jìn)程Id},可以在java進(jìn)程的日志中看到輸出(jboss 記錄在jboss_stdout.log)

b)   jstack $pid.      直接dump當(dāng)前進(jìn)程的的堆棧信息。

對于thread dump信息,主要關(guān)注的是線程的狀態(tài)和其執(zhí)行堆棧,特別是load很高的時(shí)候,通過thread dump可以看到線程到底在干嘛,從中找出問題。 線程的狀態(tài)一般為三類: runable:當(dāng)前可以運(yùn)行的線程, Waiting on monitor:線程主動wait, Waiting for monitor entry:線程等鎖. Cpu很忙則關(guān)注runnable的線程,Cpu閑則關(guān)注waiting for monitor entry的線程。

 

 

、    java內(nèi)存溢出

1、 可以先用 jstat  -gcutil ${pid} {interval}  看看java內(nèi)存回收的動態(tài)信息。 interval– 表示間隔打印的時(shí)間,單位為毫秒

圖中參數(shù)含義如下:

S0  — Heap上的 Survivor space 0區(qū)已使用空間的百分比

S1  — Heap上的 Survivor space 1 區(qū)已使用空間的百分比

E   — Heap上的 Eden space 區(qū)已使用空間的百分比

O   — Heap上的 Old space 區(qū)已使用空間的百分比

P   — Perm space 區(qū)已使用空間的百分比

YGC — 從應(yīng)用程序啟動到采樣時(shí)發(fā)生 Young GC 的次數(shù)

YGCT– 從應(yīng)用程序啟動到采樣時(shí) Young GC 所用的時(shí)間(單位秒)

FGC — 從應(yīng)用程序啟動到采樣時(shí)發(fā)生 Full GC 的次數(shù)

FGCT– 從應(yīng)用程序啟動到采樣時(shí) Full GC 所用的時(shí)間(單位秒)

2. 使用jmap dump  java內(nèi)存中全部對象,分析死鎖的位置。

jmap -histo $pid  快速查看當(dāng)前內(nèi)存中各個(gè)Java對象的大小和數(shù)量

jmap -dump:live,format=b,file=heap.dmp $pid   可以將jvm堆棧中的信息全部復(fù)制到文件head.dmp中,注意這個(gè)heap.dmp文件會比較大, 線上jboss分配的內(nèi)存一般為2g,當(dāng)內(nèi)存溢出時(shí)dump出來的head.dmp文件也是2g,所以dump的時(shí)間也比較長,一般會有半個(gè)小時(shí).

日志文件生成后運(yùn)行命令“jhat -J-mx768m -port 7001 heap.dmp”分析堆棧日志(注意不要在線上服務(wù)器上分析)。 訪問 http://localhost:7001可以查看分析報(bào)告。

或者可以使用eclipse mat插件分析,它可以以圖形形式分析出內(nèi)存中的java對象的分布: (插件地址http://download./mat/1.0/update-site/).導(dǎo)入后可以生成一個(gè)圖形報(bào)表

 

、    7001端口報(bào)警。

一般情況是jboss掛掉了。因?yàn)?/span>java進(jìn)程已經(jīng)退出。1首先需要查看:jboss_stdout.log,它會告訴你jboss crash的一些信息,它還會告訴你在jboss  crash有一個(gè)詳細(xì)的出錯報(bào)告, 位置在/web-deploy/bin/hs_err_pid.log

 

、    cookie日志分析

cat cookie_log|awk '{print $1} '|grep -v "172.16"|grep -v "127.0.0.1"|sort|uniq -c|sort -n |tail -n 10  提取訪問量前10位的ip.

cat cookie_log |grep '09/Dec/2010:18:01'|wc –l 檢查18:01這一分鐘的訪問總量。

cat cookie_log|grep 'HTTP/.../" [4|5]'|more  查看響應(yīng)出錯的請求。

cat cookie_log |grep -E 'Googlebot|Baiduspider'|wc –l統(tǒng)計(jì)googlebaike爬蟲的訪問量。

    本站是提供個(gè)人知識管理的網(wǎng)絡(luò)存儲空間,所有內(nèi)容均由用戶發(fā)布,不代表本站觀點(diǎn)。請注意甄別內(nèi)容中的聯(lián)系方式、誘導(dǎo)購買等信息,謹(jǐn)防詐騙。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請點(diǎn)擊一鍵舉報(bào)。
    轉(zhuǎn)藏 分享 獻(xiàn)花(0

    0條評論

    發(fā)表

    請遵守用戶 評論公約

    類似文章 更多