查看linux服務器情況的常用命令

判斷Linux服務器CPU情況的依據如下:

  • 具有相同的core id的CPU是同一個core的超線程。(Any cpu with the same core id are hyper-threads in the same core);
  • 具有相同的physical id的CPU是同一個CPU封裝的線程或核心。(Any cpu with the same physical id are threads or cores in the same physical socket);

物理CPU個數如下所示:

[bppf_inf@devapp001 ~]$ cat /proc/cpuinfo | grep "physical id" | sort | uniq | wc -l
4

每個物理CPU中core的個數(即核數)如下所示:
[bppf_inf@devapp001 ~]$ cat /proc/cpuinfo | grep "cpu cores" | uniq
cpu cores       : 4

邏輯CPU的個數如下所示:

[bppf_inf@devapp001 ~]$ cat /proc/cpuinfo | grep "processor" | wc -l
16

查看Linux服務器的內存使用情況,命令如下:

[bppf_inf@devapp001 ~]$ free -m
             total       used       free     shared    buffers     cached
Mem:         16050      15448        602          0        382       3190
-/+ buffers/cache:      11875       4175
Swap:         8001         18       7982

  • total:內存總數
  • used:已經使用的內存數
  • free:空閒的內存數
  • shared:多個進程共享的內存總額
  • -buffers/cache:(已用)的內存數,即used-buffers-cached
  • +buffers/cache:(可用)的內存數,即free+buffers+cached

查看Linux系統的平均負載

  • 平均負載的概念:有時候我們會覺得系統響應很慢,但是又找不到原因,這時就要查平均負載了,看它是否有大量的進程在排隊等。特定時間間隔內運行隊列的平均進程數可以反映系統的繁忙程度,所以我們通常會在自己的網站或系統變慢時第一時間查系統的負載,即CPU的平均負載。
  • 查看平均負載:最簡單的命令是uptime,如下所示:
    [bppf_inf@devapp001 ~]$ uptime
     10:46:38 up 6 days, 21:02, 24 users,  load average: 1.13, 0.92, 0.47
  • 還可以用w命令來查看,如下所示:[bppf_inf@devapp001 ~]$ w

 10:52:44 up 6 days, 21:09, 25 users,  load average: 1.02, 0.99, 0.64
USER     TTY      FROM              LOGIN@   IDLE   JCPU   PCPU WHAT
bppf_eas pts/0    192.168.95.218   Tue19   14:57m  0.03s  0.03s -bash
root     :0       -                23Apr14 ?xdm?   1:45m  0.08s /usr/bin/gnome-session
root     pts/1    :0.0             23Apr14  6days  0.01s  0.01s bash
bppf_fas pts/2    192.168.95.218   Tue16   12:06   0.18s  0.00s sshd: bppf_fas [priv]
dxposp   pts/3    192.168.83.5     10:19    1:54   0.05s  0.01s view posTunnelSvr-7331-20140430-0001.log
bppf_inf pts/4    192.168.95.148   Tue17    0.00s  0.04s  0.00s sshd: bppf_inf [priv]
bppf_inf pts/5    192.168.95.163   08:45    2:02m  0.07s  0.00s ./redis-cli -p 8123
bppf_eas pts/6    192.168.95.152   Tue13   17:15m  0.05s  0.00s sshd: bppf_eas [priv]
bppf_eas pts/7    192.168.95.152   Tue09   19:40m  0.09s  0.00s sshd: bppf_eas [priv]

  • 還有動態命令top,這個命令可以反映系統負載情況,系統會動態地顯示內容;

查看Linux系統的其他參數

  • 用vmstat監控Linux系統的整體性能,vmstat是一個相當全面的性能分析工具,可以觀察到系統的進程狀態、內存使用情況、虛擬內存的使用情況、磁盤的I/O、上下文切換、CPU的使用情況等性能信息,建議熟練掌握此命令,如下所示:[bppf_inf@devapp001 ~]$ vmstat
    procs -----------memory---------- ---swap-- -----io---- --system-- -----cpu------
     r  b   swpd   free   buff  cache   si   so    bi    bo   in   cs us sy id wa st
     1  0  19240 236516 470084 3537760    0    0     1     6    4    3  0  0 100  0  0

     如果r(等待運行的進程數)經常大於系統的邏輯CPU個數,且id(閒置時間)經常少於50,則表示CPU的負荷很重。

查看系統內核

  • 查看系統內核主要是爲了掌握其版本號,爲安裝LVS等軟件做準備,可以用命令uname -a來查看,如下所示:[bppf_inf@devapp001 ~]$ uname -a
    Linux devapp001 2.6.18-308.el5 #1 SMP Fri Jan 27 17:17:51 EST 2012 x86_64 x86_64 x86_64 GNU/Linux
  • 如果要查看系統是32位還是64位,可以用如下命令:[bppf_inf@devapp001 ~]$ ls -lF / | grep /$
    drwxr-xr-x   2 root   root      4096 11-26 12:26 bin/
    drwxr-xr-x   4 root   root      4096 11-26 11:03 boot/
    drwxr-xr-x  14 root   root      3900 04-23 13:47 dev/
    drwxr-xr-x 106 root   root     12288 04-30 04:04 etc/
    drwxr-xr-x  13 root   root      4096 04-15 14:19 home/
    drwxr-xr-x  11 root   root      4096 12-19 16:27 lib/
    drwxr-xr-x   8 root   root     12288 11-26 12:25 lib64/
    drwx------   2 root   root     16384 11-26 10:54 lost+found/
    drwxr-xr-x   2 root   root      4096 04-23 13:45 media/
    drwxr-xr-x   2 root   root         0 04-23 13:45 misc/
    drwxr-xr-x   2 root   root      4096 2009-10-01 mnt/
    drwxr-xr-x   2 root   root         0 04-23 13:45 net/
    drwxrwxrwx  10 root   root      4096 04-25 09:22 opt/
    drwxr-xr-x   6 oracle oinstall  4096 11-26 11:49 oracle/
    drwxrwx---   5 oracle oinstall  4096 11-26 11:49 oraInventory/
    dr-xr-xr-x 840 root   root         0 04-23 13:43 proc/
    drwxr-x---  22 root   root      4096 04-23 13:45 root/
    drwxr-xr-x   2 root   root     12288 11-26 12:26 sbin/
    drwxr-xr-x   2 root   root      4096 11-26 10:56 selinux/
    drwxr-xr-x   2 root   root      4096 2009-10-01 srv/
    drwxr-xr-x  11 root   root         0 04-23 13:43 sys/
    drwxr-xr-x   3 root   root      4096 11-26 11:03 tftpboot/
    drwxrwxrwt  24 root   root     12288 04-30 11:16 tmp/
    drwxr-xr-x  14 root   root      4096 01-14 15:57 u1/
    drwxr-xr-x  15 root   root      4096 11-26 11:00 usr/
    drwxr-xr-x  25 root   root      4096 11-26 11:05 var/

此命令會查找是否有/lib64的目錄,有則系統爲64位,無則表示系統爲32位。

  • 另一種常見方法是通過file命令來判斷系統中的文件是32位還是64位的,以此作爲判斷系統的依據,如下所示:[bppf_inf@devapp001 ~]$ 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), stripped

修改主機名查詢靜態表/etc/hosts

Linun主機名的相關配置文件就是/etc/hosts,這個文件告訴本機哪些域名對應哪些IP,哪些主機名對應哪些IP。一般/etc/hosts的內容如下:[bppf_inf@devapp001 ~]$ cat /etc/hosts
# Do not remove the following line, or various programs
# that require network functionality will fail.
127.0.0.1               devapp001 localhost.localdomain localhost
::1             localhost6.localdomain6 localhost6
192.168.87.3    zookeeperServer1

通常hosts文件的每行爲一個主機的信息,並且每行由3部分組成,各個部分間由空格隔開,這三部分所表示的意思如下:

第一部分:網絡IP地址

第二部分:主機名或域名

第三部分:主機名別名

當然每行也可以是兩部分,即主機IP地址和主機名。

目前/etc/hosts多用於集羣環境或開發環境(以免重新架構內網DNS服務器)。














































發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章