logo
publist
写文章

简介

该用户还未填写简介

擅长的技术栈

可提供的服务

暂无可提供的服务

Linux 性能实战 | 第 14 篇 Swap 使用分析与优化策略

本文深入探讨了Linux系统中Swap的设计原理、优化策略与监控方法。Swap不仅是内存不足时的应急方案,还具有释放不活跃内存页和支持休眠功能。通过分析swappiness参数(0-100)的真实含义,指出其控制内核回收内存时对匿名页和文件页的偏好程度,而非简单的内存使用阈值。文章提供了针对不同场景(如数据库服务器、自动驾驶平台等)的swappiness推荐值,并详细介绍了通过vmstat、sar

文章图片
#linux#服务器#数据库 +1
Linux 性能实战 | 第 13 篇 虚拟内存与分页机制深度解析

本文深入解析Linux虚拟内存与分页机制,重点探讨了虚拟内存的三大设计目标:隔离性确保进程互不干扰,保护性防止非法访问,共享性提升内存利用率。通过多级页表实现虚拟地址到物理地址的高效转换,利用TLB缓存加速访问。当访问未加载的虚拟页时会触发Page Fault,内核按需分配物理页。文章还分析了共享库、Copy-on-Write等技术如何优化内存使用,并指出TLB失效可能导致的性能问题,为理解Lin

文章图片
#linux#unix#网络 +1
Linux 性能实战 | 第 15 篇 磁盘 IO 性能分析与瓶颈定位 [特殊字符]

🔗 从 Swap 到磁盘:存储性能的最后一环 在第十四章中,我们深入探讨了 Swap 机制——当物理内存不足时,内核将不活跃的匿名页 swap 到磁盘。我们诊断了一个自动驾驶系统的性能崩溃问题,发现每秒 2345KB 的 swap in 和 3456KB 的 swap out 导致 CPU iowa

文章图片
#python#linux#性能优化
Linux 性能实战 | 第 18 篇:ltrace 与库函数性能分析

📋 本章摘要 在第十七章中,我们深入探讨了系统调用的性能开销——单次 100-300ns,但频繁调用会累积到整体性能的 50% 以上。通过 strace 诊断,我们发现一个感知算法每秒调用 845,000 次 gettimeofday,导致 load 8.5 但 CPU 使用率仅 15%。通过批量优

文章图片
#python#linux#性能优化
Linux 下高效管理 VS Code 进程:`kill` 与 `pkill` 的正确用法

Linux下高效管理VS Code进程指南 本文介绍了在Linux系统中管理VS Code进程的正确方法。针对VS Code卡死或残留进程问题,对比了kill和pkill命令的区别:kill针对特定PID,而pkill可按名称批量操作。解释了pgrep -i code输出大量PID的原因——VS Code的多进程架构和模糊匹配特性。提供了精准管理方案:用pgrep -x code查主进程,pkil

文章图片
#linux#运维#服务器
Linux 性能实战 | 附录:进程CPU使用率的计算

本文详细讲解了计算进程CPU使用率的工程方法,核心公式为CPU% = Δ(utime + stime)/Δtotal_cpu_time × NCPU × 100%。utime和stime的单位是clock ticks(通常1 tick=10ms),通过两次采样差值计算CPU时间消耗。文章介绍了两种计算方法:直接使用进程统计信息或参考系统全局CPU时间,并提供了Python实现示例。重点分析了uti

文章图片
#linux#运维
Linux 性能实战 | 附录:动态链接库的内存是共享的吗?深入理解 .so 如何影响进程内存占用

动态链接库的内存共享机制解析 摘要:Linux系统中动态链接库(.so)的内存占用分为共享与私有两部分。代码段(.text)和只读数据段(.rodata)是共享的,所有进程共用同一物理内存;而数据段(.data)和未初始化变量段(.bss)则是每个进程私有的。这种机制通过写时复制(Copy-on-Write)实现,既保证了进程隔离性,又大幅节省了内存资源。实际内存分析时,应关注PSS(按比例分摊的

文章图片
#linux#服务器#性能优化
Linux 性能实战 | 附录:动态链接库是如何影响多个进程内存占用的?

摘要: Linux系统中,多个进程的RSS(常驻内存)可能显示较大值,但实际物理内存占用远低于预期,核心原因是**shared page(共享页)**机制。动态链接库(.so)通过mmap映射到进程地址空间时,会被缓存在page cache中,多个进程共享同一物理内存页,而非各自复制。RSS统计所有映射页(含共享),而PSS(按进程数均摊)和USS(独占内存)更反映真实占用。例如100个nginx

文章图片
#linux#性能优化
Linux 性能实战 | 附录:为什么 Linux 要使用写入时复制(COW)

Linux采用写入时复制(COW)机制来优化内存管理,其核心设计原则是"先共享,按需复制"。动态库加载时,只读的代码段和常量段在进程间共享,而可写的数据段仅在进程实际修改时才复制。这种延迟分配策略大幅降低内存占用 - 例如加载100个进程时,COW机制相比立即复制可节省97%内存。COW体现了Linux的三大设计哲学:最大化共享、延迟成本和page fault驱动资源分配,使得

文章图片
#linux#性能优化
Linux 性能实战 | 附录:深入理解 pmap:进程内存映射全解析

fill:#333;important;important;fill:none;color:#333;color:#333;important;fill:none;fill:#333;height:1em;pmap -XX 核心知识字段体系Size 虚拟大小勿直接用RSS 含共享会高估PSS 按比例分摊最准确Anonymous 匿名堆总量Pss_Dirty 脏页写入量内存类型识别Device=00

文章图片
#linux#服务器
    共 31 条
  • 1
  • 2
  • 3
  • 4
  • 请选择