2.Linux性能诊断 --- 单机负载评估

1.Linux 性能诊断:单机负载评估
	1.负载诊断流程:
		1.观察 load average (平均负载)
		2.观察 cpu, IO 是否存在瓶颈

	从 load average 等总体性能入手,参考 cpu 使用率和 IO 等待时间等具体数字,从而自顶向下快速排查各个进程状态。

	流程:
		load average :
			1.cpu 瓶颈
				1.IO 无瓶颈
				top/sar/ps/strace/oprofile
				2.程序过载

			2.IO 瓶颈
				1.程序读写频繁
				sar/vmstat
				2.使用了 swap

    
    2.Linux 内核进程调度器(Process Scheduler)
    	负责决定任务运行的优先级,以及让任务等待或者使之重新开始等核心工作。调度器划分并管理进程的状态。

    	进程描述符的状态:
    		task_running  	     R   运行状态。只要cpu空闲,随时都可以开始
    		task_interruptable   S   可中断的等待状态。例如系统睡眠或者来自用户输入的等待等。
    		task_uninterruptable D   不可中断的等待状态。主要为短时间恢复时的等待状态。例如磁盘输入输出的等待
    		task_stopped             响应暂停信号而运行中断的状态。直到恢复前都不会被调度
    		task_zombie			 Z   僵死状态。虽然子进程已经终止,但父进程尚未执行wait(),因此该进程的资源没有被系统释放。

    load average 所描述的负载就是:需要运行处理,但又必须等待队列前的进程处理完成的进程个数。具体来说,要么等待授予cpu运行权限,要么等待磁盘IO完成。

    sar(system activity reporter)
      输出参数:
      	1. %user 用户cpu资源
      	2. %system 系统占用 cpu 资源
      	3. %iowait : IO 等待率

    sar -W
       输出参数:
       	1.pswpin/s : 每秒系统换入的页面数
       	2.pswpout/s : 每秒系统换出的页面数

    vmstat(report virtual memory statistics)

1.单机负载评估

猜你喜欢

转载自blog.csdn.net/enlyhua/article/details/85335194