Linux常用性能检测命令搜集

来源:互联网 发布:js 清空数组 编辑:程序博客网 时间:2024/06/06 17:22

我们在维护网站,管理后台时,经常遇到的问题比如:网络断开,磁盘剩余空间不足,CPU占用过高等等,针对这些问题事前预防总比事后处理要好。

当系统出现问题时,我们更要能及时准确定位错误的原因,才能针对性地解决问题。

下面搜集一些常用的系统命令及使用方法:

top指令是linux下比较常用的工具,实时显示系统各个进程的PID,资源占用,启动命令等信息,其中重点关注的是平均负载和CPU负载,就像windows的进程管理器一样方便

vm6245:~ # toptop - 10:00:20 up 17 days, 31 min,  1 user,  load average: 0.01, 0.02, 0.00Tasks: 137 total,   2 running, 135 sleeping,   0 stopped,   0 zombieCpu(s):  0.0%us,  0.0%sy,  0.0%ni, 97.8%id,  2.2%wa,  0.0%hi,  0.0%si,  0.0%stMem:    524460k total,   432288k used,    92172k free,    23556k buffersSwap:   530104k total,   155356k used,   374748k free,    81212k cached  PID USER      PR  NI  VIRT  RES  SHR S %CPU %MEM    TIME+  COMMAND14417 root      16   0  5656 1260  888 R    0  0.2   0:00.03 top    1 root      16   0   804   76   40 S    0  0.0   0:00.10 init    2 root      RT   0     0    0    0 S    0  0.0   0:00.31 migration/0    3 root      34  19     0    0    0 S    0  0.0   0:00.10 ksoftirqd/0    4 root      10  -5     0    0    0 S    0  0.0   0:00.00 events/0    5 root      11  -5     0    0    0 S    0  0.0   0:00.00 khelper/** top 当前时间 up 系统运行时间 user 当前登录用户数 load average 系统负载(1分钟,5分钟,15分钟)* Tasks: 进程数 running 正在运行数 sleeping 睡眠进程数 stopped 停止进程数 zombie 僵尸进程数* Cpu:us用户空间 sy系统空间 id空闲 wa等待IO hi硬件中断 si软件中断 st虚拟线程* Mem:total物理内存总量 used使用量 free空闲内存 buffers用作内核缓存的内存* Swap:total交换区总量 used使用量 free空闲量 cached缓冲的交换区** PID    USER       PR       NI       VIRT     RES* 进程ID 进程所有者 优先级别 优先级值 虚拟内存 物理内存** SHR      S        %CPU    %MEM         TIME+           COMMAND* 共享内存 进程状态 CPU占用 物理内存占用 使用CPU时间总计 执行命令*/

vmstat是一个很有用的监控工具,可以查看进程,内存,堵塞IO,CPU等活动

vm6245:~ # vmstatprocs -----------memory---------- ---swap-- -----io---- -system-- -----cpu------ r  b   swpd   free   buff  cache   si   so    bi    bo   in   cs us sy id wa st 0  0 155356   9868  70392  81176    0    0     0     3    9    6  0  0 100  0   /** procs                                 memory* r运行队列中等待的进程数 b等待io进程数 swpd虚拟内存 free空闲内存 buff缓冲区 cache缓存** swap                                  io* si硬盘交换来的数量 so交换到硬盘的数量 bi向块设备输出的数量 bo接收的块数量** system                                cpu* in每秒中断数,包含时钟 cs上下文切换数 us用户时间 sy系统时间 id空闲时间 wa等待IO时间      */

df和du:df命令可以检查文件系统的磁盘空间占用情况,du可以具体查看某个文件目录所占大小

vm6245:~ # df -hFilesystem            Size  Used Avail Use% Mounted on/dev/xvda2            3.5G  2.3G  1.3G  64% /udev                  257M   84K  256M   1% /dev/dev/xvdb             2.7G  2.7G     0 100% /cache/xvdbvm6245:~ # du -sh *4.0K    S30nsp51M     bin304K    etc0       htdocs7.6M    include/** df -h* Filesystem文件系统 Size磁盘大小 Used使用量 Avail空闲空间 Use使用比 Mounted on挂载目录 ** du -sh * 显示当前目录下所有文件夹和文件所占磁盘大小*/

iostat可以提供我们丰富的IO状态数据

vm6245:~ # iostat -d -k 1Linux 2.6.16.60-0.54.5-xen (vm6245)     04/28/12Device:            tps    kB_read/s    kB_wrtn/s    kB_read    kB_wrtnxvda              0.93         0.71         6.93    1050117   10208424xvdb              0.00         0.02         0.00      33513          0/** Device设备名 tps每秒IO请求次数 kB_read每秒读取数 kB_wrtn每秒写入数 kB_read读取总量 kB_wrtn写入总量*/