A. 怎樣查看伺服器內存和磁碟空間
(1)查看內存空間
使用「free」命令可以查看伺服器的內存空間,選項「-m」表示以MB(兆位元組)的數據存儲單位進行顯示。執行結果如下所示:
在以上輸出結果中,Mem表示系統的物理內存,total表示內存的總大小(995M),used表示已經使用的空間(168M),free表示可用空間(827M)。關於其他內容讀者可參考linux幫助手冊進行學習,這里就不再詳細解釋。
(2)查看磁碟空間
使用「df」命令可以查看伺服器的磁碟空間,選項「-lh」表示利用方便閱讀的數據存儲單位顯示本地文件系統。執行結果如下所示:
在以上輸出結果中,Filesystem是文件系統,Size表示該分區的總大小,Used表示已經使用的空間,Avail表示可用空間,Use%表示已經使用的百分比,Mounted on表示掛載路徑。可以看出,系統共分為3個文件系統,其中「/dev/mapper/VolGroup-lv_root」是掛載到根目錄的文件系統,總大小為8.3G,已經使用的空間為646M。
通過上述命令可以看出,最小安裝後的CentOS佔用的內存和磁碟空間都非常小。用戶可以根據自己的需要來手動安裝軟體和配置系統,避免因為大量預裝軟體而導致內存、磁碟等硬體資源的浪費。
B. 如何用九條命令在一分鍾內檢查Linux伺服器性能
一、uptime命令
這個命令可以快速查看機器的負載情況。在Linux系統中,這些數據表示等待CPU資源的進程和阻塞在不可中斷IO進程(進程狀態為D)的數量。這些數據可以讓我們對系統資源使用有一個宏觀的了解。
命令的輸出分別表示1分鍾、5分鍾、15分鍾的平均負載情況。通過這三個數據,可以了解伺服器負載是在趨於緊張還是趨於緩解。如果1分鍾平均負載很高,而15分鍾平均負載很低,說明伺服器正在命令高負載情況,需要進一步排查CPU資源都消耗在了哪裡。反之,如果15分鍾平均負載很高,1分鍾平均負載較低,則有可能是CPU資源緊張時刻已經過去。
上面例子中的輸出,可以看見最近1分鍾的平均負載非常高,且遠高於最近15分鍾負載,因此我們需要繼續排查當前系統中有什麼進程消耗了大量的資源。可以通過下文將會介紹的vmstat、mpstat等命令進一步排查。
二、dmesg命令
該命令會輸出系統日誌的最後10行。示例中的輸出,可以看見一次內核的oom kill和一次TCP丟包。這些日誌可以幫助排查性能問題。千萬不要忘了這一步。
三、vmstat命令
vmstat(8) 命令,每行會輸出一些系統核心指標,這些指標可以讓我們更詳細的了解系統狀態。後面跟的參數1,表示每秒輸出一次統計信息,表頭提示了每一列的含義,這幾介紹一些和性能調優相關的列:
r:等待在CPU資源的進程數。這個數據比平均負載更加能夠體現CPU負載情況,數據中不包含等待IO的進程。如果這個數值大於機器CPU核數,那麼機器的CPU資源已經飽和。
free:系統可用內存數(以千位元組為單位),如果剩餘內存不足,也會導致系統性能問題。下文介紹到的free命令,可以更詳細的了解系統內存的使用情況。
si,so:交換區寫入和讀取的數量。如果這個數據不為0,說明系統已經在使用交換區(swap),機器物理內存已經不足。
us, sy, id, wa, st:這些都代表了CPU時間的消耗,它們分別表示用戶時間(user)、系統(內核)時間(sys)、空閑時間(idle)、IO等待時間(wait)和被偷走的時間(stolen,一般被其他虛擬機消耗)。
上述這些CPU時間,可以讓我們很快了解CPU是否出於繁忙狀態。一般情況下,如果用戶時間和系統時間相加非常大,CPU出於忙於執行指令。如果IO等待時間很長,那麼系統的瓶頸可能在磁碟IO。
示例命令的輸出可以看見,大量CPU時間消耗在用戶態,也就是用戶應用程序消耗了CPU時間。這不一定是性能問題,需要結合r隊列,一起分析。
四、mpstat命令
該命令可以顯示每個CPU的佔用情況,如果有一個CPU佔用率特別高,那麼有可能是一個單線程應用程序引起的。
五、pidstat命令
pidstat命令輸出進程的CPU佔用率,該命令會持續輸出,並且不會覆蓋之前的數據,可以方便觀察系統動態。如上的輸出,可以看見兩個JAVA進程佔用了將近1600%的CPU時間,既消耗了大約16個CPU核心的運算資源。
六、iostat命令
r/s, w/s, rkB/s, wkB/s:分別表示每秒讀寫次數和每秒讀寫數據量(千位元組)。讀寫量過大,可能會引起性能問題。
await:IO操作的平均等待時間,單位是毫秒。這是應用程序在和磁碟交互時,需要消耗的時間,包括IO等待和實際操作的耗時。如果這個數值過大,可能是硬體設備遇到了瓶頸或者出現故障。
avgqu-sz:向設備發出的請求平均數量。如果這個數值大於1,可能是硬體設備已經飽和(部分前端硬體設備支持並行寫入)。
%util:設備利用率。這個數值表示設備的繁忙程度,經驗值是如果超過60,可能會影響IO性能(可以參照IO操作平均等待時間)。如果到達100%,說明硬體設備已經飽和。
如果顯示的是邏輯設備的數據,那麼設備利用率不代表後端實際的硬體設備已經飽和。值得注意的是,即使IO性能不理想,也不一定意味這應用程序性能會不好,可以利用諸如預讀取、寫緩存等策略提升應用性能。
七、free命令
free命令可以查看系統內存的使用情況,-m參數表示按照兆位元組展示。最後兩列分別表示用於IO緩存的內存數,和用於文件系統頁緩存的內存數。需要注意的是,第二行-/+ buffers/cache,看上去緩存佔用了大量內存空間。
這是Linux系統的內存使用策略,盡可能的利用內存,如果應用程序需要內存,這部分內存會立即被回收並分配給應用程序。因此,這部分內存一般也被當成是可用內存。
如果可用內存非常少,系統可能會動用交換區(如果配置了的話),這樣會增加IO開銷(可以在iostat命令中提現),降低系統性能。
八、sar命令
sar命令在這里可以查看網路設備的吞吐率。在排查性能問題時,可以通過網路設備的吞吐量,判斷網路設備是否已經飽和。如示例輸出中,eth0網卡設備,吞吐率大概在22 Mbytes/s,既176 Mbits/sec,沒有達到1Gbit/sec的硬體上限。
sar命令在這里用於查看TCP連接狀態,其中包括:
active/s:每秒本地發起的TCP連接數,既通過connect調用創建的TCP連接;
passive/s:每秒遠程發起的TCP連接數,即通過accept調用創建的TCP連接;
retrans/s:每秒TCP重傳數量;
TCP連接數可以用來判斷性能問題是否由於建立了過多的連接,進一步可以判斷是主動發起的連接,還是被動接受的連接。TCP重傳可能是因為網路環境惡劣,或者伺服器壓
九、top命令
top命令包含了前面好幾個命令的檢查的內容。比如系統負載情況(uptime)、系統內存使用情況(free)、系統CPU使用情況(vmstat)等。因此通過這個命令,可以相對全面的查看系統負載的來源。同時,top命令支持排序,可以按照不同的列排序,方便查找出諸如內存佔用最多的進程、CPU佔用率最高的進程等。
但是,top命令相對於前面一些命令,輸出是一個瞬間值,如果不持續盯著,可能會錯過一些線索。這時可能需要暫停top命令刷新,來記錄和比對數據。
C. Linux伺服器硬體情況的查看
1、首先是對於CPU的說明
伺服器CPU性能參數主要信息可以通過查看 /proc/cpuinfo 獲得。具體查看指令及效果如下:
顯示這台伺服器上有2個物理CPU
顯示這台伺服器的物理核數為16個
顯示運行模式為64位
顯示為Intel(R) Xeon(R) Gold 6226R CPU @ 2.90GHz
命令:
顯示此伺服器的線程數為64
top命令是Linux下常用的性能分析工具,能夠實時顯示系統中各個進程的資源佔用狀況,類似於Windows的任務管理器。下面詳細介紹它的使用方法。top是一個動態顯示過程,即可以通過用戶按鍵來不斷刷新當前狀態.如果在前台執行該命令,它將獨占前台,直到用戶終止該程序為止.比較准確的說,top命令提供了實時的對系統處理器的狀態監視.它將顯示系統中CPU最「敏感」的任務列表.該命令可以按CPU使用.內存使用和執行時間對任務進行排序;而且該命令的很多特性都可以通過互動式命令或者在個人定製文件中進行設定.
1.命令格式:
top [參數]
2.命令功能:
顯示當前系統正在執行的進程的相關信息,包括進程ID、內存佔用率、CPU佔用率等
3.命令參數:
-b 批處理
-c 顯示完整的治命令
-I 忽略失效過程
-s 保密模式
-S 累積模式
-i<時間> 設置間隔時間
-u<用戶名> 指定用戶名
-p<進程號> 指定進程
-n<次數> 循環顯示的次數
4.使用實例:
實例1:通過 Top 命令顯示進程信息
命令:
統計信息區:
前五行是當前系統情況整體的統計信息區。下面我們看每一行信息的具體意義。
第一行,任務隊列信息,同 uptime 命令的執行結果,具體參數說明情況如下:
10:38:58 — 當前系統時間
up 39 days, 19:47 — 系統已經運行了39天19小時47分鍾(在這期間系統沒有重啟過的吆!)
1 users — 當前有1個用戶登錄系統
load average: 0.00, 0.00, 0.00 — load average後面的三個數分別是1分鍾、5分鍾、15分鍾的負載情況。
load average數據是每隔5秒鍾檢查一次活躍的進程數,然後按特定演算法計算出的數值。如果這個數除以邏輯CPU的數量,結果高於5的時候就表明系統在超負荷運轉了。
第二行,Tasks — 任務(進程),具體信息說明如下:
系統現在共有769個進程,其中處於運行中的有1個,463個在休眠(sleep),stoped狀態的有0個,zombie狀態(僵屍)的有0個。
第三行,cpu狀態信息,具體屬性說明如下:
0.0%us — 用戶空間佔用CPU的百分比。
0.0% sy — 內核空間佔用CPU的百分比。
0.0% ni — 改變過優先順序的進程佔用CPU的百分比
100.0% id — 空閑CPU百分比
0.0% wa — IO等待佔用CPU的百分比
0.0% hi — 硬中斷(Hardware IRQ)佔用CPU的百分比
0.0% si — 軟中斷(Software Interrupts)佔用CPU的百分比
備註:在這里CPU的使用比率和windows概念不同,需要理解linux系統用戶空間和內核空間的相關知識!
第四行,內存狀態,具體信息如下:
65600012k total — 物理內存總量
1785256k used — 使用中的內存總量
62385920k free — 空閑內存總量
1428836k buffers — 緩存的內存量
第五行,swap交換分區信息,具體信息說明如下:
2097148k total — 交換區總量
918340k used — 使用的交換區總量
1178808k free — 空閑交換區總量
備註:
第四行中使用中的內存總量(used)指的是現在系統內核控制的內存數,空閑內存總量(free)是內核還未納入其管控范圍的數量。納入內核管理的內存不見得都在使用中,還包括過去使用過的現在可以被重復利用的內存,內核並不把這些可被重新使用的內存交還到free中去,因此在linux上free內存會越來越少,但不用為此擔心。
對於內存監控,在top里我們要時刻監控第五行swap交換分區的used,如果這個數值在不斷的變化,說明內核在不斷進行內存和swap的數據交換,這是真正的內存不夠用了。
第六行,空行。
第七行以下:各進程(任務)的狀態監控,項目列信息說明如下:
PID — 進程id
USER — 進程所有者
PR — 進程優先順序
NI — nice值。負值表示高優先順序,正值表示低優先順序
VIRT — 進程使用的虛擬內存總量,單位kb。VIRT=SWAP+RES
RES — 進程使用的、未被換出的物理內存大小,單位kb。RES=CODE+DATA
SHR — 共享內存大小,單位kb
S — 進程狀態。D=不可中斷的睡眠狀態 R=運行 S=睡眠 T=跟蹤/停止 Z=僵屍進程
%CPU — 上次更新到現在的CPU時間佔用百分比
%MEM — 進程使用的物理內存百分比
TIME+ — 進程使用的CPU時間總計,單位1/100秒
COMMAND — 進程名稱(命令名/命令行)
或者通過 free 命令顯示系統內存的使用情況,包括物理內存、交換內存(swap)和內核緩沖區內存。
命令:
顯示我當前的伺服器的物理內存是62G,其中交換內存是2個G,一共剩餘是60G的
三、查看Linux內核當前的系統版本號
命令:
顯示的當前的伺服器Linux內核是Ubuntu系統,版本號是18.04.6
D. 怎麼知道伺服器上哪個網站佔用資源較多
當伺服器上有N多網站時,一旦出現訪問慢和卡的時候就會頭痛的不知道是哪個網站出現問題而導致的,只需要用到系統上自帶的cmd(命令提示符)和任務管理器。
首先,先打開任務管理器,點上面的菜單欄里的查看----選擇列,把PID給勾上,這樣就能區分出各個網站所佔的進程了;當然這里有一個前提就是首先得把伺服器上的所有網站都獨立分配一個程序池
第 二步,打開命令提示符,即在運行里輸入CMD然後回車就行了。然後輸入命令 iisapp -a ,第一次輸入的時候可能會提示需要安裝個什麼組件,這個組件是伺服器上本來就存在的,不用下載,然後執行命令 iisapp -a就行了,就能把所有網站的應用池名字和PID號顯示出來,然後根據進程里的PID號來對應看看是哪個應用程序池,然後再看看是哪個網站用到的這個應用 程序池就行了。
時代互聯為您解答,希望能幫到你
E. 在linux 下怎麼查看伺服器的cpu和內存的硬體信息
以Linux centos 7伺服器為例,查看伺服器的cpu和內存的硬體信息方法如下:
1、滑鼠右鍵點擊桌面,選擇「打開終端」,如下圖所示。
F. 如何用十條命令在一分鍾內檢查linux伺服器性能
1、uptime命令
這個命令可以快速查看機器的負載情況。
2、dmesg命令
該命令會輸出系統日誌的最後10行。
3、vmstat命令
vmstat(8) 命令,每行會輸出一些系統核心指標,這些指標可以讓我們更詳細的了解系統狀態。
4、mpstat命令
該命令可以顯示每個CPU的佔用情況。
5、pidstat命令
pidstat命令輸出進程的CPU佔用率。
6、iostat命令
7、free命令
free命令可以查看系統內存的使用情況,
8、sar命令
sar命令在這里可以查看網路設備的吞吐率。
9、top命令
包含了前面好幾個命令的檢查的內容。