本次总结旨在为了能够清楚的反应linux服务器的状态性能等详细信息的一些相关操作命令和打印显示信息提示


1、查看Linux服务器CPU详细情况

判断依据:

    具有相同core id的CPU是同一个core的超线程

#  cat /proc/cpuinfo        

    显示物理CPU个数

# cat /proc/cpuinfo |grep "physical id" | sort | uniq | wc -l

    显示物理CPU 的core数目

# cat /proc/cpuinfo | grep "cpu cores"| uniq

    显示逻辑cpu的个数

#cat /proc/cpuinfo | grep "processor" | wc -l

    

问题?如何判断CPU是否支持超线程技术:

        物理CPU个数”x“核数”=“逻辑CPU的个数”

       上述关系成立则不支持超线程技术,如果大于则说明cpu支持超线程技术,在配置服务器的时候应该以服务器的路基cpu个数为准。


2、查看Linux服务器的内存使用情况

#free -m
    
             total       used       free     shared    buffers     cached
Mem:           980        679        301          0         28        105
-/+ buffers/cache:        545        435
Swap:         3058          0       3058

其中free 是显示当前内存使用情况的,m的意思是以M字节来显示内容

[参数说明]

    total:总内存数

    used:已使用内存数

    free:空闲内存数

    shared:多个进程共享的内存总额

    buffers:磁盘缓存的大小

    -buffers/cache:(已用的内存数),used-buffers-cached(被使用)

    +buffers/cache:(可用内存数),free+buffers+cached

    Swap:交换分区的大小

相较于windows系统来说,linux的内存是优先被应用程序调用的,主要系统中显示Swap交换分区未被使用则说明,内存还是够可以的。。。。


3、查看Linux服务器的磁盘使用情况

    3.1查看磁盘及分区信息

# fdisk -l

Disk /dev/sda: 16.1 GB, 16106127360 bytes
255 heads, 63 sectors/track, 1958 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0x00017188

   Device Boot      Start         End      Blocks   Id  System
/dev/sda1   *           1          39      307200   83  Linux
Partition 1 does not end on cylinder boundary.
/dev/sda2              39        1569    12288000   83  Linux
/dev/sda3            1569        1959     3132416   82  Linux swap / Solaris

磁盘大小:16G

    3.2、磁盘占用情况

df -h
Filesystem      Size  Used Avail Use% Mounted on
/dev/sda2        12G  6.5G  4.6G  59% /
tmpfs           491M     0  491M   0% /dev/shm
/dev/sda1       291M   33M  244M  12% /boot
/dev/sr0        3.6G  3.6G     0 100% /mnt

    3.3 查看磁盘I/O性能

    iostat命令:如果发现没有安装这个命令的话,可以使用yum -y install sysstat进行安装

    

# iostat - d -x - k 1 10
Linux 2.6.32-431.el6.x86_64 (node1.cn) 2017年10月28日 _x86_64_(1 CPU)
avg-cpu:  %user   %nice %system %iowait  %steal   %idle
           0.06    0.00    0.23    0.12    0.00   99.59
Device:         rrqm/s   wrqm/s     r/s     w/s   rsec/s   wsec/s avgrq-sz avgqu-sz   await  svctm  %util
avg-cpu:  %user   %nice %system %iowait  %steal   %idle
           0.99    0.00    0.99    0.00    0.00   98.02
Device:         rrqm/s   wrqm/s     r/s     w/s   rsec/s   wsec/s avgrq-sz avgqu-sz   await  svctm  %util
avg-cpu:  %user   %nice %system %iowait  %steal   %idle
           0.00    0.00    0.00    0.00    0.00  100.00

[参数说明]

    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

    rkB/s:每秒写千字节数,是rsect/s的一半,因为每个山区的大小为512字节

    wkB/s:每秒写千字节数,是wsect/s的一般

    avgrp -sz:平均每次设备I/O操作的数据大小

    avgqu-sz:平均I/O队列的长度,即deltaa(veq)/s/1000(除以1000是因为aveq的单位是ms)

    await:平均每次设备I/O的操作服等待时间(单位:ms),即delta(ruse+wuse)/delta(rio+wio)

    svctm:平均每次设备I/O操作的服务时间(单位:ms),即delta(use)/delta(rio+wio)

    %util:一秒钟有百分之几的时间用于I/O操作

特别注意参数:

    %util接近百分之百的时候,说宁I/O请求过多,I/O系统已经满负荷,该磁盘可能存在瓶颈

    await的大小,一般取决于服务器时间(svctm),以及I/O队列的长度和I/O的请求的发出模式。

        响应时间大于5mms则说明磁盘I/O压力很大,这时候需要考虑更换响应速度更快的磁盘了。调整内核elevator的算法、优化应用或者升级CPU。

    3.4 查看Linux系统中某目录的大小,

#du -sh

        查找处分区长使用率过高的文件或目录,并打印出前10的个文件或目录的名字和大小以从大到校的顺序排列

  # du -cks * | sort -rn |  head -n 10

    3.5 查看Linux系统中经常用到的dd命令,

        dd命令可以吧指定输入文件复制到指定的输出文件中,并且在复制过程中可以进行格式转换,

        3.5.1 制作交换分区

  # dd if=/dev/zero of=/swapfile bs=1024 count=65536

        3.5.2  自作磁盘驱动器,将磁盘上的驱动文件复制到一个软驱中    

#dd if=rhel40.img of=/dev/fd0 bs=10k
or    #dd if=mptlinux -3.02.68 -ll -rhel4.i686.dd of=/dev/sd0 bs=10k

        3.5.3 制作IOS镜像

 dd -if=/dev/cdrom of=/root/cd1.ios
    参数说明:
    if=file         输入文件名,默认为标准输入
    of=file        输出文件名,默认为标准输出
    ibs=bytes   上述参数表示一次读取的bytes个字节
    obs=bytes   上述参数表示一次写bytes个字节
    bs=bytes    上述参数表示一次写bytes个字节
    cbs=bytes    上述参数表示一次转换byte个字节,即转换缓冲区大小
    skip=blocks    上述参数表示从输出文件开头跳过blocks个块够再开始复制
    count=blocks    上述参数表示仅复制blocks个块,块大小等于ibs指定的字节数

4、查看linux系统的平均负载

        平均负载可以查看是否存在大量进程排队等待问题,特定时间内间隔运行队列中的平均进程数可以反应系统的繁忙程度。

# uptime    查看系统相应时间
 11:12:06 up  9:45,  2 users,  load average: 0.00, 0.00, 0.00
# w        查看当前登陆中断的用户
 11:12:44 up  9:46,  2 users,  load average: 0.00, 0.00, 0.00
USER     TTY      FROM              LOGIN@   IDLE   JCPU   PCPU WHAT
root     pts/0    192.168.31.190   10:16    0.00s  0.12s  0.00s w
root     pts/1    192.168.31.190   Fri00   34:52m  0.03s  0.03s -bash
# top        查看系统符合,其中有cpu 内存,交换分区使用的信息
top - 11:13:13 up  9:46,  2 users,  load average: 0.00, 0.00, 0.00
Tasks: 123 total,   1 running, 122 sleeping,   0 stopped,   0 zombie
Cpu0  :  0.1%us,  0.1%sy,  0.0%ni, 99.6%id,  0.1%wa,  0.0%hi,  0.1%si,  0.0%st
Mem:   1004412k total,   872128k used,   132284k free,    36048k buffers
Swap:  3132408k total,        0k used,  3132408k free,   261148k cached

   PID USER      PR  NI  VIRT  RES  SHR S %CPU %MEM    TIME+  COMMAND                                  
     1 root      20   0 19360 1536 1228 S  0.0  0.2   0:01.32 init                                      
     2 root      20   0     0    0    0 S  0.0  0.0   0:00.00 kthreadd

[参数说明]

    uptime    

    load average: 0.00, 0.00, 0.00    #显示1分钟5分钟和15分钟内进程队列中的平均进程数量,这三个值不能大于逻辑CPU的个数,否则着名cpu负载较高,会影响系统性能。

# vmstat 1 4
procs -----------memory---------- ---swap-- -----io---- --system-- -----cpu-----
 r  b   swpd   free   buff  cache   si   so    bi    bo   in   cs us sy id wa st
 0  0      0 132292  36120 261168    0    0     6     3   33   49  0  0 100  0  0	
 0  0      0 132284  36120 261168    0    0     0     0   28   46  0  0 100  0  0	
 0  0      0 132284  36120 261168    0    0     0     0   37   52  0  1 99  0  0	
 0  0      0 132284  36120 261168    0    0     0     0   29   45  0  1 99  0  0	

[参数说明]

 procs
        r:等待运行的进程数
        b:处于非中断睡眠状态的进程数。
    memory
        swpd:虚拟内存使用情况
        free:空闲的内存
        buff:被用来作为缓存的内存数量
    swap
        si:从磁盘交换到内存的交换页数量
        so:从内存交换到磁盘的交换页数量
    io
        bi:发送到块设备的块数,
        bo:从块设备接收到的块数
    system
        in:每秒的中断数,包括时钟中断
        cs:每秒的环境的交换次数
     cpu
        us:cpu使用时间
        id:闲置时间
        sy:cpu系统使用时间
标准情况:r<5,d=0(约等于)
user%:表示拥护模式下的时间百分比
sys%:表示系统模式下的时间百分比
性能计算公式:user%+sys%<70%则表示系统性能较好,如果user%+sys%>=85或以上,则不表示系统性能比较糟糕


5、查看系统内核

 uname -a
 Linux node1.cn 2.6.32-431.el6.x86_64 #1 SMP Sun Nov 10 22:19:54 EST 2013 x86_64 x86_64 x86_64 GNU/Linux
 uname -r
 查看是否为64位系统
  # ls -lF / | grep /$ | grep lib64        
dr-xr-xr-x.   8 root root    12288 7月  13 06:25 lib64/
 or
 # file /sbin/init
/sbin/init: ELF 64-bit LSB shared object, x86-64, version 1 (SYSV), dynamically linked (uses shared libs), for GNU/Linux 2.6.18, stripped
 查看服务器使用linux发行版本名称
 ]# lsb_release -a
LSB Version:	:base-4.0-amd64:base-4.0-noarch:core-4.0-amd64:core-4.0-noarch
Distributor ID:	RedHatEnterpriseServer
Description:	Red Hat Enterprise Linux Server release 6.5 (Santiago)
Release:	6.5
Codename:	Santiago
查看LVS模块是否已被载入系统
lsmod | grep ip_vs