1、用vmstat來監控Linux系統的整體性能
vmstat是一個相當全面的性能分析工具,可以用來觀察系統的進程狀態、內存使用情況、虛擬內存的使用情況、磁盤的I/O、中斷、上下文切換、CPU的使用情況等性能信息。建議熟練掌握此命令。舉例如下:
[root@localhost ~]# vmstat 1 4 procs -----------memory---------- ---swap-- -----io---- --system-- -----cpu------ r b swpd free buffcache si sobibo incsus sy idwa st 0 00225159234310474124800023100010000 0 002251592343104741248000010341930010000 0 002251592343104741248000010171470010000 0 002251592343104741248000010281830010000 |
其中:
procs
r:等待運行的進程數。
b:處在非中斷睡眠狀態的進程數。
w:被交換出去的可運行的進程數。此數由Linux計算得出,但Linux并不耗盡交換空間。
memory
swpd:虛擬內存使用情況,單位為KB。
free:空閑的內存,單位為KB。
buff:被用來作為緩存的內存數,單位為KB。
swap
si:從磁盤交換到內存的交換頁數量,單位為KB。
so:從內存交換到磁盤的交換頁數量,單位為KB。
io
bi:發送到塊設備的塊數,單位為塊。
bo:從塊設備接收到的塊數,單位為塊。
system
in:每秒的中斷數,包括時鐘中斷。
cs:每秒的環境(上下文)切換次數。
cpu
按CPU的總使用百分比來顯示。
us:CPU使用時間。
sy:CPU系統使用時間。
id:閑置時間。
標準情況下r和b值應該為:
r<5,b≈0
假設輸出的信息中:
r經常大于3或4,且id經常少于50,表示CPU的負荷很重。
pi、po長期不等于0,表示內存不足。
disk經常不等于0,且在b中的隊列大于2或3,表示io的性能不好。
2、查看系統內核
查看系統內核主要是為了掌握其版本號,為安裝LVS等軟件做準備。我們可以用命令uname -a來查看,如下所示:
[root@localhost ~]# uname -a Linux localhost.localdomain 2.6.18-194.el5 #1 SMP Fri Apr 2 14:58:14 EDT 2010 x86_64 x86_64 x86_64 GNU/Linux |
簡化的參數命令如下:
[root@localhost ~]# uname -r |
2.6.18-194.el5如果要查看系統是32位還是64位,可以用如下命令:[root@localhost /]# ls -lF /| grep /$此命令會查找是否有/lib64的目錄,有則表示系統為64位,無則表示系統為32位。大家記住一點,64位的CPU系統架構可以安裝32位或64位的系統,而32位的CPU架構只能安裝32位的系統。查找情況如下所示:
drwxr-xr-x 2 root root 4096 03-13 04:02 bin/ drwxr-xr-x 4 root root 1024 03-08 16:44 boot/ drwxr-xr-x 5 root root 4096 03-27 00:58 data/ drwxr-xr-x 11 root root 3800 03-17 07:27 dev/ drwxr-xr-x 101 root root 12288 03-26 08:47 etc/ drwxr-xr-x 4 root root 4096 03-09 10:34 home/ drwxr-xr-x 11 root root 4096 03-13 04:02 lib/ drwxr-xr-x 7 root root 4096 03-13 04:02 lib64/ drwx------ 2 root root 16384 03-08 16:33 lost+found/ drwxr-xr-x 2 root root 4096 2010-01-27 media/ drwxr-xr-x 2 root root 0 03-16 16:23 misc/ drwxr-xr-x 2 root root 4096 2010-01-27 mnt/ drwxr-xr-x 2 root root 0 03-16 16:23 net/ drwxr-xr-x 2 root root 4096 2010-01-27 opt/ dr-xr-xr-x 142 root root 0 03-16 16:22 proc/ drwxr-x--- 17 root root 4096 03-28 11:30 root/ drwxr-xr-x 2 root root 12288 03-13 04:02 sbin/ drwxr-xr-x 2 root root 4096 03-08 16:35 selinux/ drwxr-xr-x 2 root root 4096 2010-01-27 srv/ drwxr-xr-x 11 root root 0 03-16 16:23 sys/ drwxrwxrwt 5 root root 4096 03-28 04:02 tmp/ drwxr-xr-x 15 root root 4096 03-08 16:40 usr/ drwxr-xr-x 21 root root 4096 03-08 16:47 var/ |
另一種常見方法是通過file命令來判斷系統中的文件是32位還是64位的,以此作為判斷系統的依據,如下所示:
[root@localhost /]# file /sbin/init /sbin/init: ELF 64-bit LSB executable, AMD x86-64, version 1 (SYSV), for GNU/Linux 2.6.9, dynamically linked (uses shared libs), for GNU/Linux 2.6.9, stripped |
此結果表示系統為64位的。
3、查看服務器使用的Linux發行版的相關信息
下面的命令可查看服務器使用的Linux發行版的名稱、版本號及描述信息等:
[root@localhost /]# lsb_release -a LSB Version: :core-3.1-amd64:core-3.1-ia32:core-3.1- noarch:graphics-3.1-amd64:graphics-3.1-ia32:graphics-3.1-noarch Distributor ID: CentOS Description: CentOS release 5.5 (Final) Release: 5.5 |
Codename:Final如果Centos5.5或以前的版本沒有此命令,我們可以通過yum -y install redhat-lsb來安裝。
4、查看系統已載入的相關模塊
Linux操作系統的核心具有模塊化的特性,因此在編譯核心時,無須把全部的功能都放入核心。可以將這些功能編譯成一個個單獨的模塊,待需要時再分別載入。比如說在安裝LVS+Keepalived時,我們經常會用lsmod來查看lvs模塊是否已經載入,如下所示:
root@localhost ~]# lsmod| grep ip_vs ip_vs_wrr 35905 1 ip_vs 122113 3 ip_vs_wrr5.在Linux下查找PCI設置 |
有時需要在Linux下查找PCI設置。這時可以用lspci命令,它能列出機器中的PCI設備信息,比如聲卡、顯卡、Modem、網卡等的信息,主板集成設備的信息也能列出來。lspci讀取的是hwdata數據庫。可能有讀者和我一樣,最關心的還是網卡型號。
[root@localhost ~]# lspci | grep Ether 06:07.0 Ethernet controller: Intel Corporation 82541GI Gigabit Ethernet Controller (rev 05) 07:08.0 Ethernet controller: Intel Corporation 82541GI Gigabit Ethernet Controller (rev 05) |
網卡的監控一般用命令miit-tool和iptraf,這個知識點將在后面講解。
本文主要從服務器的CPU、內存、硬盤性能、負載及其他方面詳細說明了Linux服務器的整體性能狀態,希望大家能夠通過以上所列的方法來了解自己的Linux服務器的性能狀態,這對工作會有很大幫助。