Linux
文章平均质量分 88
太阳伞下的阿呆
愿天下的每个阿呆都能拥有一个可以依靠的太阳伞
展开
-
系统上下文切换分析
这是多任务操作系统的一个重要功能,但频繁的上下文切换可能会导致性能下降,因为每次上下文切换都涉及保存和恢复CPU状态,这会消耗CPU时间。在这种情况下,CPU的总使用率为6.9%(用户+系统),这表明CPU大部分时间是空闲的。在这种情况下,系统CPU使用率很高,特别是系统时间占比显著增加,同时上下文切换次数非常高,表明系统可能由于频繁的上下文切换导致性能瓶颈。在这种情况下,CPU使用率很低,表明系统大部分时间是空闲的,上下文切换次数虽然存在但并未对系统性能造成显著影响。表示上下文切换次数。原创 2024-08-24 09:19:58 · 718 阅读 · 0 评论 -
图说Linux cpuinfo
即为所有物理CPU上的core的总数,实际数量可能原创 2024-03-30 10:59:20 · 863 阅读 · 0 评论 -
shell常用命令
持续更新提取关键字grep -i biztype 2017_09_05.stderrout.log | sed 's/.*\("bizType":[0-9]\).*/\1/g'grep -i biztype 2017_09_05.stderrout.log | while read line; do expr "$line" : '.*\(\"bizType\&原创 2019-02-20 11:12:55 · 530 阅读 · 1 评论 -
共享内存架构中的缓存一致性
摘自曼彻斯特大学伊恩·沃森的讲座概述我们已经讨论过在单核上的性能优化局部性向量现在让我们优化一个共享内存程序两种架构:基于总线的共享内存机器(小规模)基于目录的共享内存机器(大规模)基于总线共享内存的体制基本情况很简单:![mesi-0.png](https://img-blog.csdnimg.cn/img_convert/dd0862f6138df347c18eb27621defb32.png#align=left&display=inline&he翻译 2021-04-04 22:06:03 · 959 阅读 · 0 评论 -
dubbo服务出现大量超时问题
背景:最近服务由服务器切换为容器,原服务:5台服务器+1个docker容器,近期由于业务原因开始降本,物理机全部下掉换为容器,并且砍掉了两台服务,现服务:4个docker容器。最近线上dubbo服务出现大量超时。找运维大佬帮忙定位问题是backlog参数过小的原因。超时时执行命令查看下socket状态// 查看所有tcp监听端口的队列使用情况ss -ant | grep 15335 | wc -ldocker容器所在服务器资源问题?文件句柄查看进程打开文件限制配置:100多万查看:ulimi原创 2020-09-26 23:25:10 · 2384 阅读 · 0 评论 -
分配内核内存(buddy系统和slab系统)(3)
目录内存管理中的分区分配方法(1)伙伴系统(算法)-内存分配技术(2)分配内核内存(buddy系统和slab系统)(3)管理内核进程空闲内存的两种策略:1. 伙伴系统 –伙伴分配系统是一种算法,它把一个大的内存块切分为一个小的部分来满足请求。该算法通常给出最符合的内存块。块的两个更小的子部分是相同大小的,称为伙伴。两个伙伴中的一个以同样的方式进一步切分为更小的子部分,直到请求被满足为止。该技术的好处是两个伙伴可以根据内存请求合并形成一个大尺寸的块。例如 – 如果发出一个需求25Kb的请求翻译 2020-05-10 08:20:50 · 907 阅读 · 0 评论 -
伙伴系统(算法)-内存分配技术(2)
目录内存管理中的分区分配方法(1)伙伴系统(算法)-内存分配技术(2)分配内核内存(buddy系统和slab系统)(3)算法描述静态分区 方案受固定活跃进程数的限制,并且空间的使用也可能不是最优的。伙伴系统是一个内存分配与管理算法,该算法管理的内存以2的幂次增长。假设内存大小是2,假设需求S大小的内存。If 2<S<=2: 分配全部内存Else: 递归二等分切分块,...翻译 2020-05-03 15:28:05 · 976 阅读 · 0 评论 -
内存管理中的分区分配方法(1)
目录内存管理中的分区分配方法(1)伙伴系统(算法)-内存分配技术(2)分配内核内存(buddy系统和slab系统)(3)四种常见的内存管理技术在操作系统中,以下是四种常见的内存管理技术单一连续分配: MS-DOS使用的最简单的分配方法。所有内存(除了一些为OS预留的内存) 都可以用于一个进程分区分配: 内存被分成不同的块或区。每个进程基于需求分配内存。分页内存管理: 内存被分到...翻译 2020-05-02 22:39:25 · 1792 阅读 · 0 评论 -
FreeBSD的一个可扩展的并发malloc(3)实现
Jason Evans jasone@FreeBSD.orgApril 16, 2006摘要FreeBSD项目从版本5开始就致力为为多处理器计算系统持续提供可扩展支持。已经取得了足够足够的进展,C类库的malloc(3)内存分配器是运行在多处理器系统的多线程应用的潜在瓶颈。在本文中,我们提供一个新的内存分配器,建立在现有技术的基础上,为应用提供一个可扩展的并发分配。基准测试表明该分配器,对多...翻译 2020-04-25 22:52:26 · 509 阅读 · 0 评论 -
Linux I/O体系之零拷贝
普通I/OLinux常规io读取文件流程用户调用读取文件函数将文件读取至Linux内核页高速缓存将页高速缓存中的数据拷贝至用户内存空间Linux内核将文件从io设备读取至内核高速缓存这个动作是通过DMA(直接内存访问)完成直接内存访问(DMA)在最初PC中CPU是系统中唯一的总线主控器,即CPU是唯一可以驱动内存地址/数据总线的硬件设备。随着更多诸如PCI(Peripheral ...原创 2020-01-12 23:01:55 · 310 阅读 · 0 评论