问题标签 [slab]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
27 浏览

c# - 我可以用类型替换 SLAB 一个方法一个事件吗?

SLAB 的示例往往如下所示:

我不喜欢MyCompanyEventSource每次添加新事件类型时都必须进行编辑。我也不喜欢记录器只能静态使用。我宁愿有这样的东西:

我知道我可以自己进行日志记录,但在我完全解雇 SLAB 之前,我想知道我是否不公平。

0 投票
1 回答
75 浏览

c# - SLAB 停止接收来自 Windows 服务的事件

我有一个myService编写 ETW 事件的 Windows 服务 ()。slabService当我启动服务时,当 SLAB 服务 ( ) 监听事件时,我能够看到写入文件的日志。

几天后slabService停止写事件。我认为 SLAB 没有停止侦听,因为如果我myService 在不重新启动的情况下重新启动,slabService我可以看到事件再次流入slabService.

有人可以指出我正确的方向。

谢谢

0 投票
1 回答
58 浏览

c# - OpCode 附加到进程外语义日志记录(SALB)c# 中的事件名称

我正在使用弹性搜索进行进程外语义日志记录。当我使用 kibana 浏览事件时,我可以看到事件即将到来。但事件名称显示为“事件名称+操作码”。即事件 OpCode 被附加到事件名称。

我的示例活动之一是

在弹性搜索(Kibana)中,事件名称显示为“ RequestStartStart

操作码开始附加到事件名称是正常行为吗?

0 投票
3 回答
1190 浏览

linux - Linux 平板分配器和缓存性能

从指南了解 linux kernel 3rd edition,第 8.2.10 章,Slab coloring-

从第 2 章我们知道,同一个硬件缓存行映射了许多不同的 RAM 块。在本章中,我们还看到相同大小的对象最终存储在缓存中的相同偏移量处。在不同的slab中具有相同偏移量的对象将以相对较高的概率最终映射到同一缓存行中。因此,高速缓存硬件可能会浪费内存周期,将两个对象从同一高速缓存行来回传输到不同的 RAM 位置,而其他高速缓存行未得到充分利用。板分配器尝试通过称为板着色的策略来减少这种令人不快的缓存行为:将称为颜色的不同任意值分配给板。

在此处输入图像描述

(1)我无法理解平板着色试图解决的问题。当正常进程访问数据时,如果它不在缓存中并且遇到缓存未命中,则将数据与来自进程尝试访问的数据的周围地址的数据一起提取到缓存中以提高性能。如何会出现相同的特定缓存行不断被交换的情况?一个进程在两个不同内存区域的内存区域内不断访问相同偏移量的两个不同数据地址的概率非常低。即使确实发生了,缓存策略通常也会根据某些议程(例如 LRU、Random 等)选择要交换的行。不存在这样的策略可以根据被访问地址的最低有效位中的匹配来选择驱逐行.

(2)我无法理解平板着色(从平板的末尾到开头占用空闲字节并导致第一个对象具有不同偏移量的不同平板)如何解决缓存交换问题?

[已解决]经过小型调查,我相信我找到了问题的答案。答案已发布。

0 投票
1 回答
633 浏览

caching - memcached中的slab类和内存分配

我最近开始浏览 memcached 源代码,并且遇到了这种结构。根据我的理解,大约有 64 个平板,每个平板代表一个独特的块大小。如果我们采用第一个slab 类(例如大小为80),那么属于这个slab 的页面将把它的内存分成80 个字节。

看不懂这条线

他所说的为一个slab类分配了多少个slab是什么意思?每个slab类都必须是唯一的,对吧?为什么一个slab类中会有多个slab?我错过了什么吗?