linux常见维护命令报错,Linux系统维护命令小结.ppt

目录,cpu的使用:top磁盘ioiostat内存iovmstat网络ionetstat进程相关信息:lsof,ps,pstree文本分析awk,sed磁盘df,fdisk,duJavathreaddumpkill-3,cpu的使用:top,主要显示cpu占用率前几位的进程处理器活动变化的实时报告主要性能指标:loadaverage、cpu占用率、mem、swap…在top执行过程当中可以使用的按键指令:P:以cpu占用率排序M:以memory的占用排序N:以PID来排序T:由该进程使用的CPU时间累积排序,cpu的使用:top,输出字段描述PID:进程号USRE:进程所有者的用户名PR:进程的优先级别NI:进程的优先级值VIRT:virtualimage,虚拟镜像(所有进程使用的虚拟内存值,包括所有的代码,数据,共享库已经被swappedout的)(virt=swap+res)RES:进程使用物理内存的总数量。(code+data)SHR:进程使用共享内存的数量S:进程的状态(S表示睡眠态,R运行态,T停止或跟踪态,D不可中断的睡眠态,Z僵死态)%CPU:CPU利用率百分比%MEM:占用内存的百分比TIME+:该进程启动以来所占用总CPU的时间COMMAND:进程的命令名称,磁盘io:iostat,iostat系统的磁盘操作活动进行监视语法:iostat[-c|-d][-k][-t][-V][-x[device]][interval[count]]其中,-c为汇报CPU的使用情况;-d为汇报磁盘的使用情况;-k表示每秒按kilobytes字节显示数据;-t为打印汇报的时间;-v表示打印出版本信息和用法;-xdevice指定要统计的设备名称,默认为所有的设备;interval指每次统计间隔的时间;count指按照这个时间间隔统计的次数,磁盘io:iostat,示例#iostat510Linux2.6.18-53.1.4.el5.centos.plus(yxdx3.localdomain)2009年06月13日_i686_(4CPU)avg-cpu:%user%nice%system%iowait%steal%idle0.060.000.130.630.0099.18Device:tpsBlk_read/sBlk_wrtn/sBlk_readBlk_wrtnsda2.077.1227.512736684641057687348sdb4.9911.9313.87458526072533412112…………….,磁盘io:iostat,输出字段描述tps:每秒IO传输个数BLK_read/s:以块为单位表示的每秒读入的数据量BLK_wrtn/s:以块为单位表示的每秒写出的数据量BLK_read:以块为单位表示的读入数据量BLK_wrtn:以块为单位表示的写出数据量使用该工具主要是用来得出各个磁盘的繁忙情况,调整磁盘上文件系统的分布、并根据数据吞吐量作出相应的判断,网络io:netstat,这个指令比较常被用在网络的监控方面,从中可以了解:1)系统启动了那些服务进程,监听什么端口2)关注某个进程的网络通讯状况,即该进程产生的多个socket的信息,特别关注state字段,这能反应tcp连接的状态信息3)可以通过-i选项获取网络接口的统计数据,网络io:netstat,常用语法netstat-[atunlp]参数:-a:将目前系统上所有的联机、监听、Socket数据都列出来-t:列出tcp网络封包的数据-u:列出udp网络封包的数据-n:不以程序的服务名称,以ip来显示;-l:列出目前正在网络监听的服务;-p:列出该网络服务的程序PID,网络io:netstat,输出字段描述Proto:网络的封包协议,主要分为TCP与UDP封包,相关数据请参考服务器篇;Recv-Q:非由使用者程序连结到此socket的复制的总bytes数;Send-Q:非由远程主机传送过来的acknowledged总bytes数;LocalAddress:本地端的IPForeignAddress:远程主机的IP;State:联机状态,主要有建立(ESTABLISED)及监听(LISTEN);,内存io:vmstat,vmstatvmstat是VirtualMeomoryStatistics(虚拟内存统计)的缩写,可对操作系统的虚拟内存、进程、CPU活动进行监视,特别是swap。它是对系统的整体情况进行统计,不足之处是无法对某个进程进行深入分析。语法:vmstat[-V][-n][delay[count]]其中,-V表示打印出版本信息;-n表示在周期性循环输出时,输出的头部信息仅显示一次;delay是两次输出之间的延迟时间;count是指按照这个时间间隔统计的次数,内存io:vmstat,示例#vmstat–Vprocpsversion3.2.7#vmstat-n520procs-----------memory-------------swap-------io------system-------cpu------rbswpdfreebuffcachesisobiboincsussyidwast0001109460620352156678000010000100000001109460620352156678000013101713000100000001109460620352156678000021010123001000000011094606203521566780000310121230010000000110946062035215667800000100812000100000001109460620352156678400081013127001000000011094606203521566780000111011124001000000011094606203521566780000610131240010000…………………………………….,内存io:vmstat,输出字段描述swpd,so:反映了调页和交换的次数,当swpd为非零值时,且so域不断指示有交换空间交换页面发生时,以及当so域值居高不下时,说明系统存在严重的内存问题proc:表示在下面各状态下进程的数目(r:运行b:不可中断睡眠)memory:实际和虚拟内存资源(swpd使用的虚拟内存,free空闲内存,buffer缓冲数)swap:可用的交换空间(si:调入的页面个数,so:调出的页面个数)io:磁盘i/o状况(bi:读入的块数目,bo:调出的块数目)system:系统信息(in表示每秒中断的次数,包括时钟中断,cs表示每秒上下文切换的次数)cpu:CPU使用时间分布,进程相关信息:lsof,用来查看某个进程打开的文件和装置常用语法:lsof–ppid或者lsof–c进程名比如:lsof–p29786或者lsof–clighttpd备注:某些时候服务报错:toomanyfilesopened,这个时候命令就好派上用场了,也可用于查看文件,网络socket等是否合理关闭,进程相关信息:ps,用来查看进程信息常用语法psaux|grep${your_input}比如psaux|grepjava,进程相关信息:ps,输出字段描述USER:该process属于那个使用者账号PID:该process的id。%CPU:该process使用掉的CPU资源百分比;%MEM:该process所占用的物理内存百分比;VSZ:该process使用掉的虚拟内存量(Kbytes)RSS:该process占用的固定的内存量(Kbytes)TTY:该process是在那个终端机上面运作,若与终端机无关,则显示?,另外,tty1-tty6是本机上面的登入者程序,若为pts/0等等的,则表示为由网络连接进主机的程序。STAT:该程序目前的状态,主要的状态有:R:该程序目前正在运作,或者是可被运作;S:该程序目前正在睡眠当中(可说是idle状态啦!),但可被某些讯号(signal)唤醒。T:该程序目前正在侦测或者是停止了;Z:该程序应该已经终止,但是其父程序却无法正常的终止他,造成zombie(疆尸)程序的状态START:该process被触发启动的时间;TIME:该process实际使用CPU运作的时间。COMMAND:该程序的实际指令为何,进程相关信息:pstree,pstree命令以树的形式显示进程。清楚地表达程序间的相互关系。如果不指定程序pid或用户名称,则会把系统启动时的第一个程序视为基层,并显示之後的所有程序。若指定用户名称,便会以隶属该用户的第一个程序当作基层,然後显示该用户的所有程序。语法pstree[-acGhlnpuUV][-H][/],文本分析:sed和awk,都是分析文本的利器,可用于分析系统日志等任何形式的文本输出sed可以进行取代、删除、新增、抓取特定行等等的功能,通常以行为单位进行处理。相较于sed常常作用于一整个行的处理,awk则比较倾向于一行当中分成数个『字段』来处理。,javathreaddump:kill-3,用于dumpjava的线程信息语法kill-3${java进程Id}可以在java进程的日志中看到输出说明对于threaddump信息,主要关注的是线程的状态和其执行堆栈线程的状态一般为三类Runnable(R):当前可以运行的线程Waitingonmonitor(CW):线程主动waitWaitingformonitorentry(MW):线程等锁一般关注的都是第一和第三种状态的线程Cpu很忙则关注runnable的线程Cpu闲则关注waitingformonitorentry的线程特别是cpu很高的时候,通过threaddump可以看到线程到底在干嘛,从中找出问题,磁盘:df,fdisk,du,df,fdisk用于了解磁盘的分区状况,让你对磁盘有个整体的了解,fdisk显示的磁盘信息更物理化,能让你了解分区所占用的磁道信息du由于统计文件或文件夹的容量通常你应该通过df观察磁盘的占用情况,一旦发现哪个分区容量占用较大,再通过du定位具体的文件夹,然后再进行处理,小结,本文命令涉及:cpu,磁盘io,网络io,内存io,进程,日志分析,磁盘,java的threaddump这些命令通常用于服务器的日常维护和找出系统瓶颈,命令往往配合使用本小节仅仅对命令进行了简单的介绍,不够全面,也谈不上深入,希望能起到引导和抛砖引玉的作用本小节的不足和错误之处也敬请各位批评指正,谢谢!彭伟2009/06/15,

展开阅读全文

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值