runq

Linux sar命令参数详解

匆匆过客 提交于 2021-01-09 02:00:30
转载自 http://www.chinaz.com/server/2013/0401/297942.shtml sar(System Activity Reporter系统活动情况报告)是目前 Linux 上最为全面的系统性能分析工具之一,可以从多方面对系统的活动进行报告,包括:文件的读写情况、系统调用的使用情况、磁盘I/O、CPU效率、内存使用状况、进程活动及IPC有关的活动等。 sar命令常用格式 sar [options] [-A] [-o file] t [n] 其中: t为采样间隔,n为采样次数,默认值是1; -o file表示将命令结果以二进制格式存放在文件中,file 是文件名。 options 为命令行选项,sar命令常用选项如下: -A:所有报告的总和 -u:输出CPU使用情况的统计信息 -v:输出inode、文件和其他内核表的统计信息 -d:输出每一个块设备的活动信息 -r:输出内存和交换空间的统计信息 -b:显示I/O和传送速率的统计信息 -a:文件读写情况 -c:输出进程统计信息,每秒创建的进程数 -R:输出内存页面的统计信息 -y:终端设备活动情况 -w:输出系统交换活动信息 1. CPU资源监控 例如,每10秒采样一次,连续采样3次,观察CPU 的使用情况,并将采样结果以二进制形式存入当前目录下的文件test中,需键入如下命令: sar -u -o

linux sar命令详解及使用

妖精的绣舞 提交于 2020-12-19 08:40:13
sar (System Activity Reporter系统活动情况报告)是目前 Linux 上最为全面的系统 性能分析 工具之一,可以从多方面对系统的活动进行报告,包括:文件的读写情况、系统调用的使用情况、 磁盘 I/O 、 CPU 效率、 内存 使用状况、进程活动及IPC有关的活动等。本文主要以 CentOS 6.3 x64系统为例,介绍 sar 命令。 sar命令常用格式 sar [options] [-A] [-o file] t [n] 其中: t为采样间隔,n为采样次数,默认值是1; -o file表示将命令结果以二进制格式存放在文件中,file 是文件名。 options 为命令行选项,sar命令常用选项如下: -A:所有报告的总和 -u:输出 CPU 使用情况的统计信息 -v:输出inode、文件和其他内核表的统计信息 -d:输出每一个块设备的活动信息 -r:输出 内存 和交换空间的统计信息 -b:显示 I/O 和传送速率的统计信息 -a:文件读写情况 -c:输出进程统计信息,每秒创建的进程数 -R:输出内存页面的统计信息 -y:终端设备活动情况 -w:输出系统交换活动信息 1. CPU资源监控 例如,每10秒采样一次,连续采样3次,观察CPU 的使用情况,并将采样结果以二进制形式存入当前目录下的文件test中,需键入如下命令: sar -u -o test 10

sar命令

﹥>﹥吖頭↗ 提交于 2020-12-19 08:19:37
sar(System Activity Reporter系统活动情况报告)是目前 Linux 上最为全面的系统性能分析工具之一,可以从多方面对系统的活动进行报告,包括:文件的读写情况、 系统调用 的使用情况、磁盘 I/O 、 CPU 效率、内存使用状况、进程活动及 IPC 有关的活动等。 1、命令与参数 -A:所有报告的总和 ,如下图 -b:显示I/O和传递速率的统计信息 字段 释义 备注 tps 磁盘每秒钟的IO总数,等于iostat中的tps rtps 每秒钟从磁盘读取的IO总数 wtps 每秒钟从写入到磁盘的IO总数 bread/s 每秒钟从磁盘读取的块总数 bwrtn/s 每秒钟此写入到磁盘的块总数 -u:输出cpu使用情况和统计信息, 默认就是-u参数 sar 5 5 字段 释义 备注 %user 用户空间的CPU使用 %nice 改变过优先级的进程的CPU使用率 %system 内核空间的CPU使用率 %iowait CPU等待IO的百分比 重点关注:%iowait过高表示存在I/O瓶颈,即磁盘IO无法满足业务需求 %steal 虚拟机的虚拟机CPU使用的CPU %idle 空闲的CPU 重点关注:如果%idle过低表示CPU使用率比较严重,需要结合内存使用等情况判断CPU是否瓶颈 sar -q #查看平均负载 字段 释义 备注 runq-sz 运行队列的长度

goroutine调度源码阅读笔记

家住魔仙堡 提交于 2020-08-09 13:33:46
以下为本人阅读goroutine调度源码随手记的笔记,现在还是一个个知识点的形式,暂时还没整理,先发到这里,一点点更新: 1). runq [256]guintptr P 的runable队列最大只能保存256个G 2). 全局的可执行队列由schedt持有,runq gQueue 3). goroutine 状态从_Grunning转为_Grunnable后,解除g与m的关联,将g放入全局的任务队列,然后再找到一个新的_Grunable状态的G来执行 1 func goschedImpl(gp * g) { 2 status := readgstatus(gp) 3 if status&^_Gscan != _Grunning { 4 dumpgstatus(gp) 5 throw ( " bad g status " ) 6 } 7 casgstatus(gp, _Grunning, _Grunnable) 8 dropg() 9 lock (&sched. lock ) 10 globrunqput(gp) 11 unlock(&sched. lock ) 12 13 schedule() 14 } 4). 寻找下一个g来执行的函数 findrunnable 在proc.go:2178 大致分为三大步骤,一是尝试从本地队列获取一个,二是尝试从全局队列获取n个,三是尝试窃取

linux系统cpu使用率查询

浪尽此生 提交于 2020-05-02 01:51:19
1、cat /proc/loadavg命令   此命令用于查看系统平均负载。 $ cat /proc/ loadavg 0.08 0.06 0.10 1 / 442 8347   前三项分别是最近1分钟、5分钟和15分钟的系统平均负载。系统平均负载为在特定时间间隔内运行队列中的平均进程数,包括正在CPU上运行或者等待运行的进程。   第四项,分子是正在运行的进程数,分母是进程总数。   最后一项是最近运行的进程ID号。 2、top 命令   Top命令是最常用的查看系统资源使用情况的工具,可以查看CPU、内存等资源的使用情况。 $ top top - 10 : 00 : 34 up 193 days, 15 min, 2 users, load average: 0.03 , 0.05 , 0.10 Tasks: 168 total, 1 running, 167 sleeping, 0 stopped, 0 zombie %Cpu(s): 0.8 us, 0.8 sy, 0.0 ni, 98.4 id , 0.0 wa, 0.0 hi, 0.0 si, 0.0 st KiB Mem : 32946324 total, 10400992 free , 2478008 used, 20067324 buff/ cache KiB Swap: 0 total, 0 free , 0

Goroutine被动调度之一(18)

荒凉一梦 提交于 2020-04-18 10:05:33
本文是《Go语言调度器源代码情景分析》系列的第18篇,也是第四章《Goroutine被动调度》的第1小节。 前一章我们详细分析了调度器的调度策略,即调度器如何选取下一个进入运行的goroutine,但我们还不清楚什么时候以及什么情况下会发生调度,从这一章开始我们就来讨论这个问题。 总体说来,go语言的调度器会在以下三种情况下对goroutine进行调度: goroutine执行某个操作因条件不满足需要等待而发生的调度; goroutine主动调用Gosched()函数让出CPU而发生的调度; goroutine运行时间太长或长时间处于系统调用之中而被调度器剥夺运行权而发生的调度。 本章主要分析我们称之为被动调度的第1种调度,剩下的两种调度将在后面两章分别进行讨论。 Demo例子 我们以一个demo程序为例来分析因阻塞而发生的被动调度。 package main func start(c chan int) { c<-100 } func main() { c:=make(chan int) go start(c) <-c } 该程序启动时,main goroutine首先会创建一个无缓存的channel,然后启动一个goroutine(为了方便讨论我们称它为g2)向channel发送数据,而main自己则去读取这个channel。

知识点051-判断linux系统状态命令汇总

你离开我真会死。 提交于 2019-11-30 18:00:55
系统状态信息查看 top (服务器进程,负载,cpu,内存情况) 参数 解析 load average: 1.15, 1.42, 1.44 1,5,15分钟负载情况,一般参数为cpu内核数的1-1.5倍以上应关注 1 running, 559 sleeping, 0 stopped, 0 zombie 正在运行、睡眠、停止、僵尸进程的数量,关注僵尸进程的数量 %sys 系统占用CPU百分比 id CPU空闲率,越接近100%越好 top -c 完整的进程命令显示 top -bn1 打印当前的top 进程 数字1 显示各个cpu的情况及个数 shift +m 内存占用排行 shift +p cpu占用排行 top -bn1 bn1显示所有进程信息,top -n 1 只显示一屏信息,供管道调用 vmstat(进程,磁盘,cpu,内存情况) 参数 解析 r 表示多少个进程分配给cpu 一般和cpu个数一起参考,超过CPU的个数就有瓶颈 b 阻塞的进程,进程阻塞 swpd 虚拟内存已使用的大小,如果大于0,表示机器物理内存不足,可能需要机器内存不足 free 空闲的空间 buff 存储系统中目录,权限等缓存 cache 用来记忆我们打开的文件,给文件做缓冲 si 每秒从磁盘读入虚拟内存的大小,如果这个值大于0,表示物理内存不够用或者内存泄露 so 每秒虚拟内存写入磁盘的大小