首页
学习
活动
专区
圈层
工具
发布

MongoDB 如何使用内存?为什么内存满了?

最近接到多个MongoDB内存方面的线上case及社区问题咨询,主要集中在: 为什么我的 MongoDB 使用了 XX GB 内存?...MongoDB 是否应该使用 SWAP 空间来降低内存压力? MongoDB 内存用在哪?...为了控制内存的使用,WiredTiger 在内存使用接近一定阈值就会开始做淘汰,避免内存使用满了阻塞用户请求。...合理配置 WiredTiger cacheSizeGB 如果一个机器上只部署 Mongod,mongod 可以使用所有可用内存,则是用默认配置即可。...开启 SWAP 与否各有优劣,SWAP开启,在内存压力大的时候,会利用SWAP磁盘空间来缓解内存压力,此时整个数据库服务会变慢,但具体变慢到什么程度是不可控的。

2.1K40

MongoDB 如何使用内存?为什么内存满了?

最近接到多个MongoDB内存方面的线上case及社区问题咨询,主要集中在: 为什么我的 MongoDB 使用了 XX GB 内存?...MongoDB 是否应该使用 SWAP 空间来降低内存压力? MongoDB 内存用在哪?...为了控制内存的使用,WiredTiger 在内存使用接近一定阈值就会开始做淘汰,避免内存使用满了阻塞用户请求。...合理配置 WiredTiger cacheSizeGB 如果一个机器上只部署 Mongod,mongod 可以使用所有可用内存,则是用默认配置即可。...开启 SWAP 与否各有优劣,SWAP开启,在内存压力大的时候,会利用SWAP磁盘空间来缓解内存压力,此时整个数据库服务会变慢,但具体变慢到什么程度是不可控的。

2.3K20
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    为什么 DNS 协议使用 UDP?只使用了 UDP 吗?

    为什么 DNS 协议使用 UDP 呢?这个问题可能大部分同学在各种博客或者面试过程中都或多或少遇见过,张口就来,UDP 快啊,DNS 使用 UDP 使得打开网页速度更快。...那各位有没有想过,既然 UDP 更快,为什么 HTTP 不使用 UDP 呢?...另外,为什么 DNS 协议使用 UDP 这个问题本身其实并不完全正确,DNS 并非只使用 UDP 协议,它同时占用了 UDP 和 TCP 的 53 端口,作为单个应用层的协议,DNS 同时使用两种传输协议也属实是个另类了...区域传输使用 TCP 而不是 UDP,因为数据同步传送的数据量比一个 DNS 请求和响应报文的数据量要多得多。 文章开头提到的既然 UDP 更快,为什么 HTTP 不使用 UDP 呢?...小结 综上,总结下,虽然 UDP 速度更快,DNS 协议也确实大面积使用了 UDP,但是由于 UDP 面向报文、只能传输小于 512 字节的特性,DNS 并非只使用了 UDP,具体的 TCP 和 UDP

    7.2K31

    KAIST-AI | 提出Block Transformer架构,大幅提升推理速度和内存效率,20倍增益!

    受该架构方法的启发,本文作者提出了Block Transformer 架构,大大提高模型推理速度和内存效率,同时保证了模型性能。...如上图,Block Transformer架构主要由三部分组成,它们分别为:Embedder、Block Decoder、Token Decoder。...该模块使用自注意力机制来处理Embedder输出的块嵌入( block embedding),并且它只在块级别上进行操作,而不是单个token级别上,进而减少了计算量。...「Token Decoder」 其主要作用是在局部块内解码细粒度的token。Token Decoder使用来自Block Decoder的上下文块嵌入作为全局上下文信息的唯一来源。...由于Token Decoder仅在局部块内应用自注意力,因此避免了对过去所有token的键值(KV)缓存的计算、存储和检索,从而减少了计算和内存访问成本。

    32410

    Transformer面试题总结101道

    Transformer 中为何会有 Queries、Keys 和 Values 矩阵,只设置 Values 矩阵本身来求 Attention 不是更简单吗?...请详述其具体的流程和数学原理 43,请描述只由一个 Encoder 和 Decoder 的 Transformer 使用了 Attention 的三个地方及其功能 44,请分别描述当进行 Training...请阐明数学原因并提供至少一种可能的解决方案 64,如果使用 Pytorch 实现 Transformer,如何巧妙的使用或者停用 optimizer.zero_grad()来训练大模型,例如内存只允许一次只能训练一个...请阐述具体的原因和工程实践过程 80,为何 Transformer 比 RNN、LSTM 等传统神经网络具有更高性价比且能够更有效的使用内存和计算资源?...81,Transformer 为何只使用 Attention 机制就解决了 CNN、LSTM、RNN 等能解决的一切问题及这些传统网络解决不了的问题?

    1.2K11

    如何让Transformer在GPU上跑得更快?快手:需要GPU底层优化

    、内存、精度等不同维度开展了大量研究和开发工作,同时也充分使用 GPU 多线程编程语言 CUDA 的很多加速技巧,主要核心优化技术如下: 1....使用更低的量化精度有利于充分挖掘 GPU 硬件(如 Tensor Core)的计算能力,同时能降低内存的 Footprint。...内存管理优化 研究者在内存管理上进行了大量优化工作。图 8 是 Transformer Encoder、Decoder 及 Beam Search 的内存管理示意图。 ?...主要使用的内存优化方法包含: 1) 内存 Sharing: 针对 Encoder 批处理输入数据而无须缓存中间数据这一特点,研究者提出了 Ping-pong Buffer 的策略,将 Encoder 的内存分为两大块...如果当前 Kernel 的计算只使用到帧内部数据,不涉及到相邻帧的数据,那么去除 Padding 对结果没有影响。

    1.9K10

    为什么说Kafka使用磁盘比内存快

    学习过[跟我学Kafka源码之LogManager分析]的同学一定会问为什么Kafka大量使用了磁盘作为传统意义的缓存。...其实Kafka最核心的思想是使用磁盘,而不是使用内存,可能所有人都会认为,内存的速度一定比磁盘快,我也不例外。...在看了Kafka的设计思想,查阅了相应资料再加上自己的测试后,发现磁盘的顺序读写速度和内存持平。...如果在内存做这些操作的时候,一个是JAVA对象的内存开销很大,另一个是随着堆内存数据的增多,JAVA的GC时间会变得很长,使用磁盘操作有以下几个好处: 磁盘缓存由Linux系统维护,减少了程序员的不少工作...磁盘顺序读写速度超过内存随机读写。 JVM的GC效率低,内存占用大。使用磁盘可以避免这一问题。 系统冷启动后,磁盘缓存依然可用。

    87820

    【AI大模型】探索GPT模型的奥秘:引领自然语言处理的新纪元

    作为两大模型的直接对比, BERT采用了Transformer的Encoder模块, 而GPT采用了Transformer的Decoder模块....并且GPT的Decoder Block和经典Transformer Decoder Block还有所不同, 如下图所示: 如上图所示, 经典的Transformer Decoder Block包含...但是在GPT中取消了第二个encoder-decoder attention子层, 只保留Masked Multi-Head Attention层, 和Feed Forward层....作为单向Transformer Decoder模型, GPT利用句子序列信息预测下一个单词的时候, 要使用Masked Multi-Head Attention对单词的下文进行遮掩, 来防止未来信息的提前泄露...GPT在使用解码器模块时做了一定的改造, 将传统的3层Decoder Block变成了2层Block, 删除了encoder-decoder attention子层, 只保留Masked Multi-Head

    26110

    【LLM系列之底座模型对比】LLaMA、Palm、GLM、BLOOM、GPT模型结构对比

    [PaLM]使用激活函数SwiGLU, 该函数可以参考PALM论文:Glu variants improve transformer。...使用了AdamW优化器,并使用cosine learning rate schedule, 使用因果多头注意的有效实现来减少内存使用和运行时间。...》论文里提到:SwiGLU 已被证明可以显著提高模型效果 提出Parallel Layers:每个 Transformer 结构中的“并行”公式:与 GPT-J-6B 中一样,使用的是标准“序列化”...这样,标记化永远不会产生未知标记 两个全连接层: GPT GPT 使用 Transformer 的 Decoder 结构,并对 Transformer Decoder 进行了一些改动,原本的...Decoder 包含了两个 Multi-Head Attention 结构,GPT 只保留了 Mask Multi-Head Attention,如下图所示:

    1.3K41

    Transformer长大了,它的兄弟姐妹们呢?(含Transformers超细节知识点)

    ,区别于普通的全连接网络,这里FFN的输入是序列中每个位置上的元素,而不是整个序列,所以每个元素完全可以独立计算,最极端节省内存的做法是遍历序列,每次只取一个元素得到FFN的结果,但是这样做时间消耗太大...为什么这里使用 Layer Normalization,而不是BN,这里直白的回答就是,BN的效果差,所以不用。 ?...; Decoder only 只使用decoder时,需要将encoder和decoder的交叉编码器删除,通常用作文本生成任务。...查询块中的所有Q只涉及相应内存块中的K。图4(e)展示了存储器块与其对应的查询块。 ?...Routing Transformer使用了k-means聚类——对查询queries和keys在同一簇质心向量集合上进行聚类。每个查询Q只关注与其属于同一簇内的keys。

    1.8K50

    Transformer解码器详解

    transformer和self-attention的的介绍我前面的文章已经说过了,这里就不重复提了。这篇文章只说明解码器部分的细节。 ?...这一部分可以看成模型在考虑之前的输出信息来计算当前应该输出什么。 ?...Decoder的第二个部分是一个encoder和decoder的attention,这一部分可以看成解码器在用编码器的输出信息来计算当前解码应该输出什么。这一部分的区别在于Q,K,V的三个向量中。...这一部分fairseq中使用了static k,v来表示(fairseq的这两块代码是分开的),因为编码器输出后,在解码过程中,这些k,v是不会变的。 ? 后面的前向网络和其余部分的就没什么区别了。...解码器每一步都只解码一个词,输出单词后放入解码器的输入,重复上述操作直到解码到为止。到这里就完成了句子的输出。

    2.6K20

    【论文解读】A Survey on Visual Transformer及引文理解

    encoder的输出,下面分别解释一下是什么原理。...与只关注局部特征的CNN相比,transformer能够捕捉到长距离特征,这意味着transformer可以很容易地获得全局信息。...与这项工作不同的是,最近出现的iGPT , ViT 和 DeiT 都是只使用transformer的文章。...对于图像条件生成,如超分和图像修复,使用编码器-解码器架构,其中编码器的输入是低分辨率的图像或损坏的图像。对于无条件和class-conditional生成(即噪声到图像),只使用解码器输入噪声向量。...由于解码器的输入是原生成的像素,在生成高分辨率图像时会带来较大的计算成本,因此提出了一种局部自注意方案,只使用最接近的生成像素作为解码器的输入。

    2.1K21

    Transformer的一家!

    04 Transformer Transformer,很多时候我们也称之为"vanilla Transformer", 它有一个encoder-decoder的结构,decoder的Transformer...Transformer的decoder功能是从encoder的表示中抽取信息。该结构与encoder非常相似,只是decoder包含两个多头注意子模块,而不是在每个相同的重复模块中包含一个。...Transformer-XL解决来上下文的segmentation问题: 对于segments之间的隐藏状态进行重复使用; 使用位置编码使其适用于重新使用的states; Hidden state Reuse...如果attention span能够灵活地调整其长度,并且只在需要时再往回看,这将有助于减少计算和内存开销,从而在模型中支持更长的最大上下文大小(这就是Adaptive Attention Span的动机...Locality-Sensitive Hashing (Reformer) Reformer模型旨在解决Transformer中的下面几个痛点: 具有N层的模型中的内存比单层模型中的内存大N倍,因为我们需要存储反向传播的

    85410

    图解GPT-2(完整版)!

    在随后的许多研究工作中,只使用 Transformer 中的一部分,要么去掉 Encoder,要么去掉 Decoder,并且将它们堆得尽可能高。...” GPT-2 是使用 Transformer 的 Decoder 模块构建的。另一方面,BERT 是使用 Transformer 的 Encoder 模块构建的。我们将在下一节中研究这种差异。...这就是为什么它一次只处理一个 token。在训练时,模型将会针对更长的文本序列进行训练,并且同时处理多个 token。...我不确定这是为什么,但这个就是在发布的代码中展示的大小(如果我错了,请纠正我)。 三、语言模型之外 只有 Decoder 的 Transformer 在语言模型之外一直展现出不错的应用。...我们可以用只有 Decoder 的 Transformer 来解决同样的任务: ? 3.2 生成摘要 这是第一个只使用 Decoder 的 Transformer 来训练的任务。

    4K30

    【综述专栏】Transformer的9种变体概览

    decoder的Transformer可以在语言建模的时候获得非常好的效果,比如 GPT 和 BERT。...Transformer的decoder功能是从encoder的表示中抽取信息。该结构与encoder非常相似,只是decoder包含两个多头注意子模块,而不是在每个相同的重复模块中包含一个。...之后,Al-Rfou 等人增加了一组辅助损失,以便能够在字符级语言建模方面训练一个深层的Transformer模型,该模型的性能优于 LSTMs,使用了几种类型的辅助任务: 除了在序列末尾只生成一个预测之外...如果attention span能够灵活地调整其长度,并且只在需要时再往回看,这将有助于减少计算和内存开销,从而在模型中支持更长的最大上下文大小(这就是Adaptive Attention Span的动机...中,我们更加关注大的只,对于每个 ? ,我们在寻找 ? 中于 ?

    2.2K00

    图解OpenAI的秘密武器GPT-2:可视化Transformer语言模型

    在随后的许多研究工作中,这种架构要么去掉了encoder,要么去掉了decoder,只使用其中一种transformer堆栈,并尽可能高地堆叠它们,为它们提供大量的训练文本,并投入大量的计算机设备,以训练其中一部分语言模型...然后是只包含decoder的架构,在发表论文“通过总结长序列来生成Wikipedia”后,提出了另一种能够进行语言建模的transformer结构。...这个架构不再使用Transformer的encoder结构。因此,我们将模型称为“Transformer-Decoder”。...这就是为什么它一次只处理一个单词。在训练时,模型将针对较长的文本序列进行训练并一次处理多个tokens。此外,在训练时,模型将处理较大批量(512)并评估使用的批量大小。...音乐生成 音乐transformer使用decoder-only transformer来生成具有表现力和动态的音乐。

    1.3K10

    Transformer自下而上理解(5) 从Attention层到Transformer网络

    堆叠Attention Layers 注意第2节和第3节介绍的知识对Self-Attention Layer做堆叠,由Self-Attention这个名字我们也能知道它是只计算模块内部各个数据之间的关系...Transformer: Encoder + Decoder 基于前面的内容,我们把Encoder和Decoder的所有细节都介绍了,现在我们从全局的角度看看Transformer长什么样,如下图示。...输出矩阵的维度和Decoder的输入维度保持一样 其实,Transformer还有很多细节这里没有讲到,这里只做简短补充: Position Encoding: 这个其实就是对一个句子里每个单词的位置做编码...下图给出了基于RNN实现的Seq2Seq模型结构,我们将Transformer和它作对比的话,可以发现二者还是非常相似的,都是Decoder接收Encoder的输出,换句话说RNN Seq2Seq能做的事情...,和分类模型类似,每个单词都有不同的权重,我们可以根据概率随机采样或者只选择概率最大的单词作为Decoder下一个输入单词。

    83010

    基于去噪Transformer的无监督句子编码

    EMNLP2021 Findings上有一篇名为TSDAE: Using Transformer-based Sequential Denoising Auto-Encoder for Unsupervised...Sentence Embedding Learning的论文,利用Transformer结构无监督训练句子编码,网络架构如下所示 具体来说,输入的文本添加了一些确定的噪声,例如删除、交换、添加、Mask...第t步输出的hidden state 不同于原始的Transformer,作者提出的方法,Decoder只利用Encoder输出的固定大小的向量进行解码,具体来说,Encoder-Decoder之间的cross-attention...训练结束后如果需要提取句向量只需要用Encoder即可 作者通过在STS数据集上调参,发现最好的组合方法如下: 采用删除单词这种添加噪声的方法,并且比例设置为60% 使用[CLS]位置的输出作为句向量...Results 从TSDAE的结果来看,基本上是拳打SimCSE,脚踢BERT-flow 个人总结 如果我是reviewer,我特别想问的一个问题是:"你们这种方法,与BART有什么区别?"

    96310

    关于Transformer,面试官们都怎么问

    2.Transformer Decoder 端的输入具体是什么?...见上述 Encoder 端 & Decoder 端总览中,对 Decoder 端的输入有详细的分析 3.Transformer 中一直强调的 self-attention 是什么?...为什么它能发挥如此大的作用?self-attention 为什么要使用 Q、K、V,仅仅使用 Q、V/K、V 或者 V 为什么不行? 3.1 self-attention是什么?...这是为何 Self Attention 逐渐被广泛使用的主要原因。 3.4 关于 self-attention 为什么要使用 Q、K、V,仅仅使用 Q、V/K、V 或者 V 为什么不行?...其实直观上也可以想到,如果自己设计这样的一个模型,必然也不会只做一次 attention,多次 attention 综合的结果至少能够起到增强模型的作用,也可以类比 CNN 中同时使用「多个卷积核」的作用

    1.2K20

    【NLP】图解GPT-2(完整版)

    在随后的许多研究工作中,只使用 Transformer 中的一部分,要么去掉 Encoder,要么去掉 Decoder,并且将它们堆得尽可能高。...” GPT-2 是使用 Transformer 的 Decoder 模块构建的。另一方面,BERT 是使用 Transformer 的 Encoder 模块构建的。我们将在下一节中研究这种差异。...这就是为什么它一次只处理一个 token。在训练时,模型将会针对更长的文本序列进行训练,并且同时处理多个 token。...我不确定这是为什么,但这个就是在发布的代码中展示的大小(如果我错了,请纠正我)。 三、语言模型之外 只有 Decoder 的 Transformer 在语言模型之外一直展现出不错的应用。...我们可以用只有 Decoder 的 Transformer 来解决同样的任务: ? 3.2 生成摘要 这是第一个只使用 Decoder 的 Transformer 来训练的任务。

    68120
    领券