
性能优化
文章平均质量分 93
Mr and nobody
这个作者很懒,什么都没留下…
展开
-
解决Go文件操作创建过多线程问题
解决 Go 文件操作创建过多线程问题github代码仓使用Go实现的一个远端文件性能测试服务。用于记录调优过程,并解决Go处理阻塞的文件IO而创建过多线程的问题。1. 配置在客户端和服务端分别有一个 config.json 配置文件,说明如下:{ "Port":"9999", // 服务端口号 "UserProtoMsg":true, // 是否使用protobuf协议,否则使用json协议 "PageSize":4096, // 每条连接每次最多读取数据量 "MaxOpenFiles":原创 2021-10-18 21:22:06 · 690 阅读 · 0 评论 -
CPU 上下文切换(优化)
性能优化-CPU 上下文切换笔记目录1. 查看系统的上下文切换情况2. 案例分析2.1 准备2.2 操作和分析小结1. 查看系统的上下文切换情况过多的上下文切换,会把 CPU 时间消耗在寄存器、内核栈以及虚拟内存等数据的保存和恢复上,缩短进程真正运行的时间,成了系统性能大幅下降的一个元凶。可以使用 vmstat 这个工具,来查询系统的上下文切换情况。vmstat 是一个常用的系统性能分析工具,主要用来分析系统的内存使用情况,也常用来分析 CPU 上下文切换和中断的次数。比如,下面就是一个 vms原创 2021-08-01 19:08:57 · 874 阅读 · 0 评论 -
CPU上下文切换(基础)
本文目录:1.进程上下文的概念2.上下文切换详细过程2.1 进程地址空间切换2.2 处理器状态(硬件上下文)切换3.ASID机制4. 普通用户进程、普通用户线程、内核线程切换的差别5. 进程切换全景视图6. 总结1.进程上下文的概念进程上下文是进程执行活动全过程的静态描述。我们把已执行过的进程指令和数据在相关寄存器与堆栈中的内容称为进程上文,把正在执行的指令和数据在寄存器与堆栈中的内容称为进程正文,把待执行的指令和数据在寄存器与堆栈中的内容称为进程下文。实际上linux内核中,进程上下文包括进程的虚拟转载 2021-08-01 18:25:03 · 1354 阅读 · 0 评论