本次总结旨在为了能够清楚的反应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