PSI_压力阻塞信息
1. PSI_压力阻塞信息
1.1 PSI的使用
当CPU、memory或IO设备处于竞争状态,业务负载会遭受时延毛刺、吞吐量降低,及面临OOM的风险。
psi能够实时的提供相关信息,因此系统可基于psi实现动态的负载管理。如实施卸载、迁移、策略性的停止或杀死低优先级或可重启的批处理任务。
1.1.1 压力信息查看
# cpu 状态
tan@tan:~$ cat /proc/pressure/cpu
some avg10=0.10 avg60=0.41 avg300=0.21 total=1135875
full avg10=0.00 avg60=0.02 avg300=0.00 total=358411
tan@tan:~$
#io 状态
tan@tan:~$ cat /proc/pressure/io
some avg10=1.70 avg60=10.00 avg300=8.05 total=35190768
full avg10=1.70 avg60=9.40 avg300=7.50 total=32714449
tan@tan:~$
# memory状态
tan@tan:~$ cat /proc/pressure/memory
some avg10=0.00 avg60=0.00 avg300=0.00 total=0
full avg10=0.00 avg60=0.00 avg300=0.00 total=0
tan@tan:~$
some 行代表至少有一个任务阻塞于特定资源的时间占比。
full行代表所有非idle任务同时阻塞于特定资源的时间占比。
avg代表阻塞时间占比(百分比),为最近10秒、60秒、300秒内的均值。
total代表总阻塞时间(单位微秒),可用于观察时延毛刺,这种毛刺可能在均值中无法体现。
1.1.2 用户态监视例子
#include <errno.h>#include <fcntl.h>#include <stdio.h>#include <poll.h>#include <string.h>#include <unistd.h>/* 监控内存部分阻塞,监控时间窗口为1秒、阻塞门限为150毫秒。*/int main() {const char trig[] = "some 150000 1000000";struct pollfd fds;int n;fds.fd = open("/proc/pressure/io", O_RDWR | O_NONBLOCK);if (fds.fd < 0) {printf("/proc/pressure/memory open error: %s\n",strerror(errno));return 1;}fds.events = POLLPRI;if (write(fds.fd, trig, strlen(trig) + 1) < 0) {printf("/proc/pressure/memory write error: %s\n",strerror(errno));return 1;}printf("waiting for events...\n");while (1) {n = poll(&fds, 1, -1);if (n < 0) {printf("poll error: %s\n", strerror(errno));return 1;}if (fds.revents & POLLERR) {printf("got POLLERR, event source is gone\n");return 0;}if (fds.revents & POLLPRI) {printf("event triggered!\n");} else {printf("unknown event received: 0x%x\n", fds.revents);return 1;}}return 0;}
根据 1.1.1 压力信息查看 可以知道占空比最大的是io事件,因此 1.1.2 用户态监视例子 修改为监控io事件。
tan@tan:~/toolLinux$ vim psi.c
tan@tan:~/toolLinux$ gcc psi.c -o psi
tan@tan:~/toolLinux$ sudo ./psi
[sudo] password for tan:
waiting for events...
event triggered!
event triggered!
event triggered!
根据psi中 io的 avg10=1.70, 10000 *1.7% / 10 = 170ms,170ms 大于150ms,所以 都成功的监听到了事件出发。
更多详细得解读可以参考 2.1 技术参考
2. 总结
进入linux大门:可以看哈这个视屏
学习还是得靠自己。❤️
2.1 技术参考
参考链接1:https://blog.csdn.net/shift_wwx/article/details/121537332
PSI_压力阻塞信息相关推荐
- python中showinfo_python – Tkinter中的非阻塞信息对话框
我需要一个简单的信息框来显示一些状态输出,我可以使用print将其转储到控制台.我找到的最简单的可能性如下: import Tkinter as tk root = tk.Tk() root.with ...
- 关于查询MySQL事务阻塞信息,你还可以这样玩?
关注我们获得更多内容 作者 | 陈龙,云和恩墨西区工程师,一线服务过金融等行业,精通 oracle 性能优化,故障诊断,特殊恢复领域 . 前言 众所周知 innodb 是支持事务型的存储引擎,在日常运 ...
- 【LMKD】 二 PSI 压力失速信息
基于Android的车载操作系统 目录 写在前面 为了更好的识别资源冲突,并易于管理Facebook数据中心的系统过载问题.Facebook内核团队开发了PSI机制.PSI是一种通过Linux 内核获 ...
- SQL Server 监控统计阻塞脚本信息
数据库产生阻塞(Blocking)的本质原因 :SQL语句连续持有锁的时间过长 ,数目过多, 粒度过大.阻塞是事务隔离带来的副作用,它是不可避免的,而且是一个数据库系统常见的现象. 但是阻塞的时间和出 ...
- (转)SQL Server 监控统计阻塞脚本信息
数据库产生阻塞(Blocking)的本质原因 :SQL语句连续持有锁的时间过长 ,数目过多, 粒度过大.阻塞是事务隔离带来的副作用,它是不可避免的,而且是一个数据库系统常见的现象. 但是阻塞的时间和出 ...
- sqlserver监控阻塞(死锁)具体情况
sqlserver监控阻塞(死锁)具体情况 公司sqlserver的监控系统主要是采用zabbix监控,但是zabbix的监控只能通过性能计数器给出报警,而无法给出具体的阻塞情况,比如阻塞会话.语句. ...
- Oracle优化02-锁和阻塞
思维导图 概述 之前梳理了一篇博文 Oracle-锁解读 首先弄清楚两个概念: 并发 concurrency: 超过两个以上的用户对相同的数据做修改 并行 parallel:将一件事情分成很多小的部分 ...
- linux下的进程信号,信号注册、处理方式、注销,信号阻塞及volatile代码优化
信号量与信号的区别! 信号量:内核中的一个计数器/实现进程间同步(条件判断合理性)与互斥(同一时间唯一访问安全性). 信号:进程之间事件异步通知的一种方式,是一种软中断,非信号量. 作用:操作系统通过 ...
- 数位板驱动压力测试_【又来甩锅了】数位板/数位屏延迟怎么办?
最近看到一个绘王用户制作的开箱视频,多角度展示了新上市的Kamvas 16数位屏的实际使用效果,视频里面,有一段是专门测试'数位屏的延迟',让官方君发现一个用户对产品认知的误区. 数位板和鼠标键盘一样 ...
- 译码阻塞和死锁的等待资源
译码阻塞和死锁的等待资源 常用等待资源介绍 以下表格列出了常用等待资源的格式和意义. Resource Format Example Table DatabaseID:ObjectID:IndexID ...
最新文章
- ubuntu+php+mysql+apache安装配置
- Fresco源码分析之Hierarchy
- unity3d android 回调,大神们,请问unity和Android交互的时候,为什么总是调用不到方法...
- hbuilderx制作简单网页_网页制作的基本步骤是怎样的?制作简单网页的具体操作有哪些呢?...
- JavaScript实现combinationSum组合和算法(附完整源码)
- C 语言高效编程与代码优化
- 电子设计常用总线--QSPI
- lintcode:递归打印数字
- sizeof()计算结构体的大小
- newcondition java_Java并发Condition接口
- thinking in java -- notes-2
- 请解释各种自动装配模式的区别
- 快视频:剽窃了B站的数据库?360的常规操作了。
- 20190905:(leetcode习题)爬楼梯
- python为什么叫爬虫-python为什么叫爬虫?为什么python开发会突然火起来?
- Win10安装Ubuntu18.04双系统,图文详解,全网最详细教程
- 数字图像处理(极简) 第一章 概述(docx)
- 毕向东_JavaScript视频教程_DOM
- 浅谈数据挖掘与机器学习
- 查找计算机里包含相关文字,windows7如何搜索包含关键字的文件_win7电脑文件怎么查关键字文件...