为啥要对服务端进行监控分析?
jmeter监控,如果tps低,响应时间长,能不能发现瓶颈在哪?不能
压力断的重要性:看性能衰减
1.linux操作系统内核简介
linux内核作用:
- 与计算机硬件进行交互,实现对硬件部件的编程控制和接口操作,调度对硬件资源的访问
- 为计算机上的用户程序提供一个高级的执行环境和对硬件的虚拟接口
查看内核版本:uname -r
4.18.0-147.5.1.el8_1.x86_64
4.18.0 Linux内核版本由3个数字组成:r.x.y r:目前发布的Kernel主版本x:偶数是稳定版本,奇数是开发中的版本 y:错误修补次数
操作系统内核体系结构图:
进程有用户态、内核态,用户态调用系统接口,陷入内核态
/proc
proc 是 Processes(进程) 的缩写,/proc 实际上是 Linux 的一个虚拟文件系统,用于内核空间与用户空间之间的通信
查看信息:cat /proc/cpuinfo
1.2 内核功能
系统调用管理:操作系统功能调用的统一入口(创建进程,读取文件)
查看系统调用:strace
进程管理:对运行中的程序进行生命周期管理
内存管理:对运行中的程序使用的内存进行管理(只有内核才可以直接访问物理内存)
文件管理:对运行中的程序使用的文件进行管理(Linux 里一切皆文件)
设备管理:对输入输出设备进行管理(字符设备:比如鼠标,块设备:比如硬盘)
网络通信:
网络协议模型:业界标准的 TCP/IP 模型:四层模型
TCP/IP模型:
应用层:常见协议:http
传输层:常见协议:tcp
网络层:常见协议:ip
网络接口层:负责网络包在物理网络中的传输
客户端软件想要基于网络发送一条消息给客户端:
1.3 相关术语
1.3.1 中断:interrupt
中断是系统用来响应硬件设备请求的一种机制
分类:硬件中断和软中断
硬件中断:用来快速处理硬件请求(会打断 CPU 正在执行的任务),特点是快速执行
软中断:由内核触发,比如用来异步处理硬件中断未完成的工作
各种类型软中断在不同 CPU 上的累积运行次数
软中断查看命令:cat /proc/softirqs
动态查看命令 watch -d cat /proc/softirqs
上面命令如果乱序:cat /proc/softirqs |awk ‘{printf “%12s%12s%12s\n”,$1,$2,$3}’
改进:cat /proc/softirqs |awk ‘NR == 1{printf “%12s%12s%12s\n”,” “,$1,$2};NR>1{printf “%12s%12s%12s\n”,$1,$2,$3}’
常见性能问题:
- 压测产生大量网络数据
- 接收数据导致HI高
原因:接收数据能力弱
1.3.2 上下文切换:context switch
上下文:cup上下文,是cpu在运行任务前必须的依赖环境
cpu寄存器:是cpu内置的容量小,但熟读极快的内存(存储运算器里的临时数据和指令)
程序计数器:存储cpu正在执行的指令位置、或者即将执行的下一条指令位置
上下文切换:先把前一个任务的 CPU 上下文保存起来,然后加载新任务的上下文到这些寄存器和程序计数器,最后再跳转到程序计数器所指的新位置,运行新任务
常见CS:
- 中断上下文切换
- 进程上下文切换
- 线程上下文切换(比进程间切换消耗资源少)
常见性能问题:线程池设置过大导致cs高
今天的文章非linux内核的系统_centos内核版本分享到此就结束了,感谢您的阅读,如果确实帮到您,您可以动动手指转发给其他人。
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
如需转载请保留出处:https://bianchenghao.cn/51383.html