Linux的负载高,主要是由于CPU使用、内存使用、IO消耗三部分构成。任意一项使用过多,都将导致服务器负载的急剧攀升。

[root@ok Desktop]# w
 20:41:47 up  2:48,  2 users,  load average: 1.66, 1.55, 1.44
USER     TTY      FROM              LOGIN@   IDLE   JCPU   PCPU WHAT
root     tty1     :0               17:54    2:48m  7:55   7:55  /usr/bin/Xorg :0 -br -verbose -audit 4 -auth /var/run/gdm/auth-for-gdm-upUfeI/database -nolisten tcp
root     pts/0    :0.0             17:54    0.00s  0.26s  0.01s w
[root@ok Desktop]# uptime
 20:41:54 up  2:48,  2 users,  load average: 1.69, 1.56, 1.44

load average:后面的三个数值的含义是最近1,5,15分钟系统的负载值。这个值的意义是,单位时间段内CPU活动进程数。如果你的机器为单核,那么只要这几个值均<1,代表系统就没有负载压国,如果你的机器为N核,那么必須是这几值均<N才可以为系统没有负载压力。

top命令下,按1,则可以展示岀服务器有多少CPU,并显示每人CPU的使用情况:

top - :: up  :,   users,  load average: 1.97, 1.81, 1.60
Tasks: total, running, sleeping, stopped, zombie
Cpu0 : 39.6%us, 3.5%sy, 0.0%ni, 56.8%id, 0.0%wa, 0.0%hi, 0.0%si, 0.0%st
Cpu1 : 26.0%us, 5.9%sy, 0.0%ni, 66.7%id, 1.2%wa, 0.0%hi, 0.2%si, 0.0%st
Cpu2 : 8.9%us, 4.8%sy, 0.0%ni, 86.3%id, 0.0%wa, 0.0%hi, 0.0%si, 0.0%st
Cpu3 : 8.2%us, 4.3%sy, 0.0%ni, 87.5%id, 0.0%wa, 0.0%hi, 0.0%si, 0.0%st
Mem: 11878796k total, 3487176k used, 8391620k free, 118840k buffers
Swap: 3751932k total, 0k used, 3751932k free, 795880k cached PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND
root 1828m 627m 59m S 46.4 5.4 :09.19 firefox
root 1112m 174m 26m S 29.2 1.5 :40.58 plugin-containe
root 171m 29m S 7.8 0.3 :50.73 Xorg
qemu 2419m 564m S 5.6 4.9 :57.35 qemu-kvm
qemu 1159m 291m S 5.6 2.5 :05.87 qemu-kvm
qemu 1575m 393m S 5.4 3.4 :51.81 qemu-kvm
root 302m 13m S 1.4 0.1 :08.92 gnome-terminal
root S 0.2 0.0 :01.39 events/
root S 0.2 0.0 :00.74 events/
root 2445m 21m S 0.2 0.2 :14.09 asterisk
root 349m 14m 10m S 0.2 0.1 :08.04 wnck-applet
root R 0.2 0.0 :01.16 top
root S 0.0 0.0 :01.23 init
root S 0.0 0.0 :00.01 kthreadd
root RT S 0.0 0.0 :00.47 migration/
root S 0.0 0.0 :00.17 ksoftirqd/
root RT S 0.0 0.0 :00.00 stopper/
root RT S 0.0 0.0 :00.01 watchdog/
root RT S 0.0 0.0 :00.40 migration/
root RT S 0.0 0.0 :00.00 stopper/
root S 0.0 0.0 :00.22 ksoftirqd/
root RT S 0.0 0.0 :00.01 watchdog/
root RT S 0.0 0.0 :00.23 migration/
root RT S 0.0 0.0 :00.00 stopper/
root S 0.0 0.0 :00.27 ksoftirqd/
root RT S 0.0 0.0 :00.00 watchdog/

一般而言,服务器的合理负载是CPU核数*2。也就是说对于8核的CPU,负载在16以内表明机器是运行很稳定流畅。如果负载超过16了,就说明服务器的运行有一定的压力了。

[root@ok Desktop]# w
column window is too narrow
这个是窗口太小的意思
解决方法:
放大窗口
要不使用这个命令w|cat
[root@ok Desktop]# w
column window is too narrow
[root@ok Desktop]# w|cat
:: up :, users, load average: 1.19, 1.43, 1.41
USER TTY FROM LOGIN@ IDLE JCPU PCPU WHAT
root tty1 : : :51m : : /usr/bin/Xorg :
root pts/ :0.0 : .00s .26s .01s w

查看cpu负载:

[root@ok Desktop]# vmstat
procs -----------memory---------- ---swap-- -----io---- --system-- -----cpu-----
r b swpd free buff cache si so bi bo in cs us sy id wa st

r列表示运行和等待cpu时间片的进程数,如果长期大于1,说明cpu不足,需要需加cpu.

b列表示在等待资源的进程数,比如正在等待I/O,或者内存交换等。

cpu表示cpu的使用状态

us列显示了用户方式下所花费CPU的百分比。us的值比较高时,说明用户进程消耗的cpu时间多,但是如果长期大于50%, 需要考虑优化用户的程序。

sy列显示了内核进程所花费的cpu时间的百分比。这里us+sy的参考值为80%,如果us+sy大于80%说明可能存在CPU不足。

wa列显示了IO等待所占用的CPU时间的百分比。这里wa参考值为30%,如果wa大于30%,说明io等待严重,这可能是磁盘大随机访问造成的,也可能磁盘或者磁盘访问控制器的带宽瓶颈造成的(注要是块操作)

正常的时间:

ot@ok Desktop]# vmstat
procs -----------memory---------- ---swap-- -----io---- --system-- -----cpu-----
r b swpd free buff cache si so bi bo in cs us sy id wa st

查看LINUX当前负载的更多相关文章

  1. linux中uptime命令查看linux系统负载

    阅读目录 uptime cat /proc/loadavg 何为系统负载呢? 进阶参考 uptime 另外还有一个参数 -V(大写),是用来查询版本的 [appdeploy@CNSZ22PL0088: ...

  2. uptime命令查看系统启动时间和运行时间、查看linux系统负载

    1.uptime命令输出:16:11:40 up 59 days, 4:21, 2 users, load average: 0.00, 0.01, 0.00 2.查看/proc/uptime文件计算 ...

  3. 怎样查看lInux系统中的所有运行进程

    可以使用ps命令.它能显示当前运行中进程的相关信息,包括进程的PID.Linux和UNIX都支持ps命令,显示所有运行中进程的相关信息. ps命令能提供一份当前进程的快照.如果想状态可以自动刷新,可以 ...

  4. 查看Linux系统的平均负载

    1.Linux系统的平均负载的概念 有时候我们会觉得系统响应很慢,但是又找不到原因,这时就要查看平均负载了,看它是否有大量的进程在排队等待.特定时间间隔内运行队列中的平均进程数可以反映系统的繁忙程度, ...

  5. Linux查看内存,负载状态

    Linux查看内存,负载状态 查看内存使用情况  www.ahlinux.com cat /proc/meminfo MemTotal:       16332644 kB MemFree:     ...

  6. [转]查看linux服务器硬盘IO读写负载

    最近一台linux服务器出现异常,系统反映很慢,相应的应用程序也无法反映,而且还出现死机的情况,经过几天的观察了解,发现服务器压力很大,主要的压力来自硬盘的IO访问已经达到100% 为了方便各位和自己 ...

  7. 查看linux服务器硬盘IO读写负载

    最近一台linux服务器出现异常,系统反映很慢,相应的应用程序也无法反映,而且还出现死机的情况,经过几天的观察了解,发现服务器压力很大,主要的压力来自硬盘的IO访问已经达到100% 为了方便各位和自己 ...

  8. 寻找Linux单机负载瓶颈

    寻找Linux单机负载瓶颈 服务器性能上不去,是哪里出了问题?IO还是CPU?只有找到瓶颈点,才能对症下药: 如何寻找Linux单机负载瓶颈,遵循的原则是不要推测,我们要通过测量的数据说话: 负载分两 ...

  9. Linux系统负载排查

    参考  http://www.ruanyifeng.com/blog/2011/07/linux_load_average_explained.html 在Linux系统中,我们一般使用uptime命 ...

随机推荐

  1. Linux下J2EE环境搭建

    1.下载MyEclipse 2010的linux安装包. myeclipse-10.1-offline-installer-linux 2.将下载MyEclipse 2010的linux安装包,使用X ...

  2. IOS基础之 (三) 类的声明和对象的创建

    一 OC类的声明和实现语法 1.接口的声明 @interface NewClassName: ParentClassName { 实例变量 ... } 方法的声明 ... @end //...表示省略 ...

  3. Spring MVC 读取静态资源时404错误

    背景:web.xml配置时拦截策略是拦截所有请求: <servlet> <servlet-name>springmvc</servlet-name> <ser ...

  4. 51nod 1170 1770 数数字(动态规划)

    解题思路:看到题后,直接想到分成两种情况: ①:a*b >9 这里又分成两种 1. n==1 a*b 直接是一个两位数 求得十位和个位(这里十位和个位不可能相等) 然后如果等于d 则结果=1 2 ...

  5. 利用memcached构建高性能的Web应用程序(转载)

    面临的问题 对于高并发高访问的Web应用程序来说,数据库存取瓶颈一直是个令人头疼的问题.特别当你的程序架构还是建立在单数据库模式,而一个数据池连接数峰 值已经达到500的时候,那你的程序运行离崩溃的边 ...

  6. js ajax 向后台传递数组

    //定义数组 var _arrays = []; for (var i = 0; i < 10; i++) { _arrays.push(i); } //post $.post(href, {l ...

  7. windows中快速停掉占用某端口的进程的方法

    在Windows操作系统中,我们在启动一个tomcat服务器时,经常会发现8080端口已经被占用的错误,而我们又不知道如何停止这个tomcat服务器. 本文将通过命令来强行终止这个已经运行的tomca ...

  8. (转) 新的开始之Win7、CentOS 6.4 双系统 硬盘安装

    http://blog.csdn.net/cnclenovo/article/details/11358447

  9. PHP+MySQL无限级分类(非递归)

    要实现无限级分类,递归一般是第一个也是最容易想到的,但是递归一般被认为占用资源的方法,所以很多系统是不考虑使用递归的 本文还是通过数据库的设计,用一句sql语句实现 数据库字段大概如下: 字段 说明 ...

  10. java笔记--反射机制之基础总结与详解

    一.反射之实例化Class类的5种方式: java的数据类型可以分为两类,即引用类型和原始类型(即基本数据类型). 对于每种类型的对象,java虚拟机会实例化不可变的java.lang.Class对象 ...