-
高性能: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工具
内存相关的工具:
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调用
猜您喜欢
- Steam连不上网?这5个原因可能是你的死..2024-04-07
- 鼠标驱动更新后仍无法动?揭秘你可能..2024-04-06
- 百度网盘网页版无法启动客户端?这可..2024-04-05
- 谷歌访问助手用不了?你可能不知道的..2024-04-05
- Windows PowerShell文件夹可删除吗?解密一..2024-04-04
- QT5Core.dll丢失?别担心,这可能是由这..2024-04-04
相关推荐
- 电脑怎么屏蔽某个网站的方法 电脑如..2023-01-23
- 破解密码!360压缩包解密技巧大揭秘..2023-12-23
- 新浪微博自动回复,新浪微博自动回复..2021-01-02
- 微软确认新版Edge浏览器将随Win10 2004..2023-02-12
- vt怎么开启 vt怎么开启thinkpad..2023-01-29
- 揭秘!一键激活Windows 10的神秘方法..2023-12-21