您好,欢迎访问三七文档
当前位置:首页 > 商业/管理/HR > 销售管理 > 明明白白你的Linux服务器
明明白白你的Linux服务器——硬件篇本篇文章是《明明白白你的Linux服务器》系列的第一篇。写这篇文章的目的,是因为我经常要到客户的机房或托管的IDC去从事相关系统工作,少则十几台,多则上百,通过下面的内容,你应该能很清楚你目前的Linux服务器的状态性能等信息。一、如何查看服务器的CPU今天安装了9台Linux服务器,型号完全不一样(有DELL、HP和IBM服务器),又懒得去对清单,如何在Linux下cpu的个数和核数呢?另外,nginx的cpu工作模式也需要确切的知道linux服务器到底有多少个逻辑cpu,不过现在服务器那是相当的彪悍,直接上worker_processes8吧。判断依据:1.具有相同coreid的cpu是同一个core的超线程。(Physicalidandcoreidarenotnecessarilyconsecutivebuttheyareunique.Anycpuwiththesamecoreidarehyperthreadsinthesamecore.)2.具有相同physicalid的cpu是同一颗cpu封装的线程或者cores。(Anycpuwiththesamephysicalidarethreadsorcoresinthesamephysicalsocket.)以自己的惠普DL380G6为例说明:①物理cpu个数:[root@localhost~]#cat/proc/cpuinfo|grepphysicalid|sort|uniq|wc-l②每个物理cpu中core的个数(即核数)[root@localhost~]#cat/proc/cpuinfo|grepcpucores|uniqcpucores:4这样可以推算出自己服务器的逻辑CPU为物理个数*核数,如果你的服务器是server2003,你可以在你的资源管理器里以图形化方式看到你的逻辑CPU个数。二、查看服务器的内存情况有时候,你运行了许多大的进程,比如你开启了300个fast-cgi。这时候你感觉系统很慢,便需要查看服务器的内存情况:[root@server~]#free-mtotalusedfreesharedbufferscachedMem:2491638601094-/+buffers/cache:58191Swap:5110511参数解释:total内存总数used已经使用的内存数free空闲的内存数shared多个进程共享的内存总额buffersBufferCache和cachedPageCache磁盘缓存的大小-buffers/cache(已用)的内存数:used-buffers-cached+buffers/cache(可用)的内存数:free+buffers+cached可用的memory=freememory+buffers+cached上面的数值是一台我公司内网供PHP开发人员使用的DELLPE2850,内存为2G的服务器,其可使用内存为=217+515+826。记住,Linux的内存使用管理机制是有多少就用多少(特别是在频繁存取文件后),即Linux内存不是拿来看的,是拿来用的。编辑推荐:Linux系统内存监控全面讲解:free命令三、服务器磁盘使用情况有时感觉硬盘反映很慢,或需要查看日志所在分区时,下列命令可以查看磁盘的使用情况,很有用:①查看硬盘分区情况fdisk–l②查看当前硬盘使用情况df–h③查看硬盘性能#iostat-x110Linux2.6.18-92.el5xen03/01/2010avg-cpu:%user%nice%system%iowait%steal%idle1.100.004.8239.540.0754.46Device:rrqm/swrqm/sr/sw/srsec/swsec/savgrq-szavgqu-szawaitsvctm%utilsda0.003.500.402.505.6048.0018.480.000.970.970.28sdb0.000.000.000.000.000.000.000.000.000.000.00sdc0.000.000.000.000.000.000.000.000.000.000.00sdd0.000.000.000.000.000.000.000.000.000.000.00sde0.000.100.300.202.402.409.600.001.601.600.08sdf17.400.50102.000.2012095.205.60118.400.706.812.0921.36sdg232.401.90379.700.5076451.2019.20201.134.9413.782.4593.16像我们公司,开发人员占多数。有时为了节约成本,会同时采购一些性价比比较高的二手服务器;这时一般将服务器的硬件的工作模式设置为RAID1,同时对几种型号的服务器作相同文件的写操作,然后各自执行iostat–d,作对比性测试。这样服务器的硬盘性能孰优孰劣,一下子就能对比出来。图解:Tps该设备每秒I/O传输的次数(每秒的I/O请求)Blk_read/s表求从该设备每秒读的数据块数量Blk_wrth/s表示从该设备每秒写的数据块数量四、查看系统内核查看系统内核主要为了掌握其版本号,为安装LVS等软件做准备。uname–a有关查看内核信息的更多指令,可参考Linux查看版本信息及CPU内核、型号等一文。有关Linux的内核优化,则可参考Linux2.6.31内核优化指南一文。五、查看服务器使用的Linux发行版的名称、版本号及描述信息等lsb_release-a这是我的某台用于SVN实验的vmware机器情况:六、查看服务器的平均负载感觉到系统压力较大时用可top或uptime查看下服务器的平均负载。uptime的另一个用法是查看你的Linux服务器已经稳定运行多少天没有重启了,我这边的机器最高记录是360多天。七、查看系统整体性能情况如果感觉系统比较繁忙,可以用vmstat查看系统整体性能情况。vmstat不仅仅适应于linux系统,它一样适用于FreeBSD等unix系统。vmstat12如果r经常大于4,且id经常少于40,表示cpu的负荷很重。如果pi,po长期不等于0,表示内存不足。如果disk经常不等于0,且在b中的队列大于3,表示io性能不好。编辑推荐:Linux系统监控工具之vmstat详解八、查看系统已载入的相关模块Linux操作系统的核心具有模块化的特性,应此在编译核心时,务须把全部的功能都放入核心。你可以将这些功能编译成一个个单独的模块,待需要时再分别载入。比如说在安装LVS+Keepalived,下列用法被经常用到:#检查内核模块,看一下ip_vs是否被加载lsmod|grepip_vsip_vs773130如果要查看当前系统的已加载模块,直接lsmod。九、Linux下查找PCI设置有时需要在Linux下查找PCI设置,可用lspci命令,它可以列出机器中的PCI设备,比如声卡、显卡、Modem、网卡等,主板集成设备也能列出来。lspci读取的是hwdata数据库。有的小伙可能和我一样,最关心的还是网卡型号:[root@mail~]#lspci|grepEthernet03:00.0Ethernetcontroller:BroadcomCorporationNetXtremeIIBCM5708GigabitEthernet(rev12)07:00.0Ethernetcontroller:BroadcomCorporationNetXtremeIIBCM5708GigabitEthernet(rev12)推荐阅读:七大实用命令行工具玩转Linux网络配置。至于网络流量的监控,建议用centos自带的工具iptraf,其用法可参考这篇文章。掌握上面这九条,你对你的Linux服务器的硬件信息基本就可以随时掌控了。明明白白你的Linux服务器——网络篇前言:这篇文章是明明白白你的Linux服务器-硬件篇的续篇,《明明白白你的Linux服务器》系列的第二篇。希望大家看完此文后,能很清楚明白你的服务器的网络情况,能很轻松的配置其网络环境。Linux服务器在装完系统,配置其网络环境是每一个systemadministrator的职能。一、服务器的网络配置在服务器的网络配置时,喜欢图形的朋友可用setup或system-config-network来配置。网卡配置文件为/etc/sysconfig/network-scripts/ifcfg-eth0,设置完毕后直接用servicenetworkrestart生效1.[root@linpclroot]#cat/etc/sysconfig/networking/devices/ifcfg-rth02.DEVICE=eth03.ONBOOT=yes4.BOOTPROTO=static5.IPADDR=192.168.0.26.NETMASK=255.255.255.07.GATEWAY=192.168.0.1GATEWAY选项可以设置网关参数,这里注意下ONBOOT选项,它表示网卡是否随系统启动而启动,此项一定要设置成on这里介绍二个不是太常用的参数USERCTL=no,即不允许普通用户修改网卡PEERDNS=yes,它表示允许从DHCP获得的DNS覆盖本地的DNS查看本机所有的网卡情况ifconfig–a,更高级的网卡路由命令用ipaddr,特别是你的服务器由keepalived绑定了虚拟VIP后用其查看很方便查看本机路由netstat–rn或route增加一条本机网络路由用命令routeadd-net172.16.6.0netmask255.255.255.0gw172.16.2.25,即增加一条网络172.16.6.0/24经过172.16.2.254,这个地址也可以理解为你的下一跳的地址删除路由用命令routedel–net172.16.86.0/24如果要永久的生效可用文件编辑的办法vim/etc/sysconfig/network-scripts/route-eth0172.16.6.0/24via172.16.2.25查看本机的DNS服务器cat/etc/resolv.conf查看主机名hostname查看主机名对应的IP地址/etc/hosts它的执行顺序是优于DNS的,现在多用于集群环境,比如Heartbeat;还有一个妙用,在没用DNS的环境中做测试时,直接改服务器的此文件,达到优先解析的目的查看与本机直连的网络设备用命令arp这里跟大家介绍一个很有用的工具,mii-tool,判断哪块网卡连接了网线,同事们靠抽插网线来判断哪个网卡连接了网线的办法比较没有效率1.[root@mail~]#mii-tool2.eth0:negotiated100baseTx-FDflow-control,linkok3.SIOCGMIIPHYon'eth1'failed:Resourcetemporarilyunavailable大家看这段文字可能没什么感觉,但到了机房就非常有用了,特别是那些网卡多的服务器,我见得最多的某台Linux服务器上绑定了六块网卡。二、查看你的服务器网络连接状态1.netstat-n|awk'/^tcp/{++S[$NF]}END{for(ainS)printa,S[a]}'2.LAST_ACK143.SYN_RECV3484.ESTABLISHED705.FIN_WAIT12296.FIN_WAIT2307.CLOSING338.TIME_WAIT18122状态:描述◆CLOSED:无连接是活动的或正在进行◆LISTEN:服务器在等待进入呼叫◆SYN_RECV:一个连接请求已经到达,等待确认◆SYN_SENT:应用已经开始,打开一个连接◆ESTABLISHED:正常数据传输状态◆FIN_WAIT1:应用说它已经完成◆FIN_WAIT2:另一边已同意释放◆ITME
本文标题:明明白白你的Linux服务器
链接地址:https://www.777doc.com/doc-1593646 .html