系统吧 专业的电脑操作系统,支持重装各种原版系统xp/win7/win8/win10 这个系统怎么样?试试系统吧系统,体验办公系统畅快愉悦感。 各种电脑系统安装过程一样,神一般的畅快!
-->
当前位置:主页 > 电脑技术 >

高性能:8-可用于Memory分析的BPF工具【bpf performance tools读书笔记】(2)

作者:李伟尚 分类:电脑技术 发布时间:2021-07-10 05:12:00

直接回收可以调用内核模块收缩器函数:这些释放的内存可能保留在缓存中的内存,包括内核slab缓存。 swap devices交换设备 交换设备为内存不足的系统提供...

直接回收可以调用内核模块收缩器函数:这些释放的内存可能保留在缓存中的内存,包括内核slab缓存。

swap devices交换设备

交换设备为内存不足的系统提供了降级的操作模式:进程可以继续分配,但是现在将不常使用的页面移入和移出交换设备,这通常会使应用程序运行得慢得多。

一些生产系统无需交换即可运行;这样做的理由是,对于那些关键系统来说,降级的操作模式是永远无法接受的,因为这些关键系统可能有许多冗余(且运行状况良好)服务器,比开始交换的服务器要好用得多。(例如,对于Netflix云实例,通常就是这种情况。)

如果无交换系统的内存不足,则内核oom killer会牺牲一个进程。为了避免这种情况,将应用程序配置为永不超过系统的内存限制。

oom killer

Linux内存不足杀手是释放内存的最后手段:它将使用启发式方法找到受害者进程,并通过杀死它们来牺牲它们。启发式寻找将释放许多页面的最大受害者,并且这不是关键任务,例如内核线程或init(PID 1)。Linux提供了在整个系统和每个进程中调整OOM杀手的行为的方法。

page compaction页面压缩

随着时间的流逝,释放的页面变得碎片化,从而使内核很难根据需要分配较大的连续块。内核使用压缩程序来移动页面,从而释放连续区域。

file system caching and buffering文件系统缓存和缓冲

Linux借用空闲内存进行文件系统缓存,并在有需求时将其恢复为空闲状态。这种借用的结果是,在Linux启动之后,系统报告的可用内存趋向于零,这可能使用户担心系统实际上只是在预热其文件系统缓存时会耗尽内存。此外,文件系统使用内存进行回写缓冲(write-back buffering)。

可以将Linux调整为更喜欢从文件系统缓存中释放或通过交换释放内存(通过调整参数vm.swappiness)。

传统的分析工具

传统的性能工具提供了许多基于容量的内存使用情况统计信息,包括每个进程和系统范围内使用了多少虚拟和物理内存,以及某些细分,例如按流程段或面板。分析内存使用率超出基本知识,例如页面错误率,分配库,运行时或应用程序对每个分配都需要内置的工具;或者可以使用像Valgrind这样的虚拟机分析器;后一种方法可能会导致目标应用程序在检测时运行速度慢10倍以上。BPF工具效率更高,开销也更小。

Tool

Type

Description

dmesg

Kernel log

OOM killer event   details

swapon

Kernel   statistics

Swap device   usage

free

Kernel   statistics

System-wide   memory usage

ps

Kernel   statistics

Process   statistics, including memory usage

pmap

Kernel   statistics

Process memory   usage by segment

vmstat

Kernel statistics

Various   statistics, including memory

sar

Kernel   statistics

Can show page   fault and page scanner rates

perf

Software   events, hardware statistics, hardware sampling

Memory-related   PMC statistics and event sampling

用于内存分析相关的BPF工具

高性能:8-可用于Memory分析的BPF工具【bpf performance tools读书笔记】(2)

内存相关的工具:

Tool

Source

Target

Description

oomkill

BCC/BT

OOM

Shows extra   info on OOM kill events

显示oom相关的事件

memleak

BCC

Sched

Shows possible   memory leak code paths

显示可能的内存泄漏代码路径

mmapsnoop

Book

Syscalls

Traces mmap(2)   calls system-wide

跟踪系统范围内的mmap调用

xp 更多>>
win7 更多>>
win8 更多>>
win10 更多>>
U盘 更多>>
电脑技术 更多>>
网站地图 | 豫ICP备2021035069号-4 | 友情链接qq:191064436
系统吧

版权所有 © 2012-2023 系统吧 免责声明:本站资源均收集于互联网,其著作权归原作者所有,如果有侵犯您权利的资源,请来信告知,我们将及时删除相应资源。