问题标签 [working-set]
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.
mongodb - workingSet 命令不显示输出
我不知道我这样做是对还是错,所以让我解释一下:
我正在开发 MongoDB 2.6.6 版
我有分片环境,它由 2 个分片(副本集)、mongos 和配置服务器组成。
为了检查我的工作集,我给出了命令:
db.runCommand({serverStatus:1, workingSet:1})
如 MongoDB文档中所示。但是给定的输出中没有workingSet
文档。它只返回serverStatus
文件。我在这里做错什么了吗?
注意:请耐心等待,因为服务器出于维护目的而关闭。因此我真的无法提供输出,但您可以猜到不包含 workingSet 文档的输出。
java - 如何从工作集中获取项目(IProject)?
在接下来的代码中,默认情况下,我从项目中获取我需要的信息 Workspace,但我需要为 Working Sets 的项目更改它。
所以,我找到了一个答案,但是作为循环后的返回,我收到了许多信息,例如:
或者
返回该信息的代码是:
所以,简而言之,我想知道如何以与工作区项目相同或类似的方式从工作集中获取 IProjects?
mongodb - 减少 mongodb 文档的大小会减少工作集吗?
我正在尝试确定减小文档大小是否会减少我们的工作集?我们的数据库已达到实例上的 RAM 限制。我们将冗余数据存储在每个文档的数组中(可以是数千个元素),我现在限制为 40 个。这应该会将错误集合的大小减少到原来的 10%(这是我们的批量是),但在我对文档的理解中,存储大小不会改变。在阅读了 mongo 之后,我不确定将文档大小减少到原来的 10% 是否会影响工作集?有人可以帮忙/解释一下吗?
编辑:一些背景信息
随着数据库的增长,我们为保持性能而做的一件事是增加 RAM 以“适应”整个数据库。数据库正在接近我们在副本实例上拥有的 64GB 内存……这就是提出这个问题的原因……
编辑:基本问题
本质上,问题归结为:当我计算我们的工作集是否适合内存时,我应该使用什么?这些数字来自运行 db.stats():
数据大小 + 索引大小 < RAM
或者
storageSize + indexSize < RAM
或者
文件大小 + 索引大小 < RAM
谢谢!
operating-system - WSClock algorithm as approximation
I have a question regarding the WSClock algorithm used for page replacement in operating systems.
As far as I understand, the WSClock combines the features of both Working Set (a page is in the WS if it was referenced to in last T time intervals, so the last reference time is stored for the each page with R&M bits) and the Clock algorithm (page frame table is stored as a circular list, when page fault occurs the list is traversed searching for the pages which are not present in the working set).
On each page reference the HW sets its R bit to 1. On some time intervals the OS resets R bits for all pages to 0.
When a page fault occurs the algorithm traverses over the list and does the following for each page:
The algorithm looks just fine for me except for one thing:
The last time a page was reference to is changed only on one occasion: if a page fault has occured after this page was referenced to (R = 1) but the OS has not reset the R bit to 0 yet (R = 0). So as I understand this - the last used time is only approximated by that approach which leads to a better performance.
So for really-really frequently used pages which are no doubt present in the WS of the process everything is good: their reference frequency is higher than the frequency of the OS resetting event.
But there should be some unlucky pages which are referenced to pretty frequently but unfortunately for them no page faults happen after these references. But they are also so unlucky that when page faults occurs - they look like they have not been referenced to although this is not true.
So from what I see it looks like the OS takes snapshots of the working set only during page faults events. These snapshots represent working set of pages being referred to in time intervals between R bit resetting and page faults.
Why is that a good approximation of the real work set?
Is the quality of the approximation (and thus the effectiveness of the algorithm) determined by the value of the time interval when R bits are reset?
So this value should not be too low to be able to catch most of these unlucky pages I've mentioned above but also not be too big to be able not to catch pages which are really already not in the Working Set?
java - 在 IWorkingSetSelectionDialog 中仅启用 Java 工作集
我目前正在使用由 IWorkingSetManager 创建的 IWorkingSetSelectionDialog。默认情况下,单击此对话框中的“新建...”按钮会询问用户应创建哪种类型的工作集。但我想限制为 Java 工作集,就像在 Package Explorer 中一样。任何人都知道如何实现这一目标?
java - 有没有办法访问“其他工作集”或其工作集管理器?
我正在 Eclipse 中重新创建一个资源管理器,它应该启用工作集作为顶层样式。有没有办法访问 eclipse jdt 创建的“其他工作集”?我尝试创建自己的 localWorkingSetManager 并添加 ID 为 IWorkingSetIDs.OTHERS 的工作集,但这会导致 OthersWorkingSetUpdater 出现异常。如果没有办法直接访问这个工作集,有没有其他方法可以创建一个不可编辑的工作集?
c - makefile 中的变量,意外行为
我有makefile,我注意到一些奇怪的地方。
在标有 的行上<------
,如果我把$(OBJECTS)
而不是String.o
编译失败。但是我定义OBJECTS=$(String.o)
了,为什么会这样呢?
另外,作为后续问题,如果我添加$(OBJECTS)
到该行<-----
并$(OBJECTS)
从该行中删除它,那么它会编译。像这样:
那么有人可以回答我为什么$(OBJECTS)
不解决String.o
在线问题<-----
吗?
谢谢
working-set - 资源监视器中报告的内存未显示在 UMDH 中
我有一项服务随着时间的推移间歇性地开始吞噬服务器内存,需要重新启动才能释放它。我用 gflags 转为 +ust,重新启动服务,并开始拍摄预定的 UMDH 快照。当问题再次发生时,资源管理器在工作集和私有字节下报告了多个 GB,但 UMDH 快照仅占进程堆中的几个 MB 分配。
在 UMDH 快照文件的顶部,它提到“仅转储堆管理器收集堆栈的分配”。
当指定 +ust 标志时,进程中的分配怎么会没有痕迹?
如何找出这些 GB 的分配位置/方式?
virtual-memory - 工作集算法和虚拟内存
工作集算法:有2个进程,每个进程都有自己的工作集窗口。根据理论,在那个窗口中存储了进程请求的 Δ 最近的页面。
我的问题是:当必须将页面带到窗口时,我们是否直接从磁盘(磁盘-> Windown)移动该页面,这意味着不需要虚拟内存;或者,应该有一个存储页面的倒置页表,以便我们从那里移动它(磁盘 -> 倒置页表 -> 窗口)。
长问题短:WS算法是否(以任何方式)与倒置页表连接
-谢谢
memory - 工作集大小 - 如果发生抖动
我对颠簸感到困惑。假设我们有一组页面:2 4 6 8 2 5 8 和工作集大小= 4。我们是否应该移动到页面大小的末尾,然后将所有工作集大小相加,然后与内存大小进行比较并决定是否发生颠簸?例如在这个集合中第一个区间WS(t1)={2,4,6,8}, WS(t2)={4,6,8,2}, WS(t3)= {6,8, 2,5},WS(t4)={8,2,5}。因此,当我们添加工作集大小 sum=15 时。我是否要将此值与内存大小进行比较并确定是否发生抖动?