问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

mongodb 怎么限制文档数量

发布网友 发布时间:2022-04-09 02:35

我来回答

2个回答

懂视网 时间:2022-04-09 06:56

service cgconfig start 

查看cgconfig是否启动

service cgconfig status 

设置开机启动  

chkconfig cgconfig on 


二、配置:

a、先看cgconfig配置文件:

	[root@mongo1 mongodb]# cat /etc/cgconfig.conf 
			mount {
				cpuset	= /cgroup/cpuset;
				cpu	= /cgroup/cpu;
				cpuacct	= /cgroup/cpuacct;
				memory	= /cgroup/memory;
				devices	= /cgroup/devices;
				freezer	= /cgroup/freezer;
				net_cls	= /cgroup/net_cls;
				blkio	= /cgroup/blkio;
			}

			group DBLimitedGroup {
					memory {
							memory.limit_in_bytes = "32212254720" ;

					}


			}

上面配置文件中,mount{...} 这一部分是安装libcgroup后生成的/etc/cgconfig.conf中默认有的,目的是定义各个子系统的挂载点,可以不用管。

为了限制mongodb,这里定义了一个group名字叫做DBLimitedGroup,这个group中定义了对内存memory进行限制,限制的项为memory.limit_in_bytes ,它的值为32212254720(32212254720/1024/1024/1024=30GB),线上服务器是32G的内存,这里设置限制为30G给mongodb。根据自己的情况设置,数值的单位为 byte字节,比如1G=1*1024*1024*1024=1073741824(byte)


b、然后看cgrules.conf 

cat  /etc/cgrules.conf 

# /etc/cgrules.conf
#The format of this file is described in cgrules.conf(5)
#manual page.
#
# Example:
#<user>		<controllers>	<destination>
#@student	cpu,memory	usergroup/student/
#peter		cpu		test1/
#%		memory		test2/
# End of file

*:mongod	memory		DBLimitedGroup/

这个cgrules.conf是配置cgexec命令的默认配置,后面会用到cgexec来执行mongod的程序,"#"开头是注释,不用管,看最后一行。


上面的意思为:

*     所有的用户以及用户组

mongod   mongod程序名(进程)

memory  使用memory子系统中的配置

DBLimitedGroup   cgroup.conf中自定义的group

全部连在一起就是说,执行cgexec时,如果满足“任何用户任何组执行mongod程序,那么被执行的进程(及mongod进程)将满足memory内存子系统中的DBLimitedGroup中的所有限制”

而DBLimitedGroup中的限制就是,限制内存使用为32G。

这样使用cgroup就限制了指定进程(这里是mongod进程)的(物理)内存使用。


配置完成后重新启动cgconfig

 service cgconfig restart


三、运行mongodb

第一台主机:

cgexec   -g memory:DBLimitedGroup /usr/bin/mongod -f /etc/mongodb/shard11.conf
cgexec   -g memory:DBLimitedGroup /usr/bin/mongod -f /etc/mongodb/shard21.conf
cgexec   -g memory:DBLimitedGroup /usr/bin/mongod -f /etc/mongodb/mongosvr.conf
/usr/bin/mongos -f /etc/mongodb/mongos.conf

第二台主机:

cgexec   -g memory:DBLimitedGroup /usr/bin/mongod -f /etc/mongodb/shard12.conf
cgexec   -g memory:DBLimitedGroup /usr/bin/mongod -f /etc/mongodb/shard22.conf
cgexec   -g memory:DBLimitedGroup /usr/bin/mongod -f /etc/mongodb/mongosvr.conf
/usr/bin/mongos -f /etc/mongodb/mongos.conf

地三台主机:

cgexec   -g memory:DBLimitedGroup /usr/bin/mongod -f /etc/mongodb/arb1.conf
cgexec   -g memory:DBLimitedGroup /usr/bin/mongod -f /etc/mongodb/arb2.conf
cgexec   -g memory:DBLimitedGroup /usr/bin/mongod -f /etc/mongodb/mongosvr.conf
/usr/bin/mongos -f /etc/mongodb/mongos.conf

我这里使用的mongodb的集群,版本的3.2.4


以下是截图:

第一台主机:

技术分享


第二台主机:

技术分享


第三台主机:

技术分享


由于本篇讲述的是cgroup限制mongo内存,因此mongodb的具体配置不在此列出。

本文出自 “xiaotong的博客” 博客,请务必保留此出处http://xiaotong.blog.51cto.com/4312502/1783768

mongodb内存限制初探

标签:cgroup cgconfig cgexec mongodb mongo mongodb内存限制

热心网友 时间:2022-04-09 04:04

mongodb 怎么*文档数量
连接是要消耗资源的,而且消耗的并不少。 内存:MongoDB为例,每个线程都要分配1MB的栈内存出来。1000个连接,1G内存就这么没了,甭管是否是活跃连接 文件句柄:每个连接都要打开一个文件句柄,当然从成本上讲,这个消耗相对内存是小了很多。
《MongoDB入门教程》第13篇 限制返回结果数量

当设置为0时,不限制返回结果数量。limit()方法与SQL中的LIMIT子句功能相似。在需要获取确定内容结果时,通常结合limit()与skip()方法实现分页功能。skip()方法用于指定从查询结果中的第几个文档开始返回。例如,要获取第2页中的文档,每页包含3个文档,可以使用以下语法:skip()操作意味着MongoDB服务器...

mongo中的高级查询之聚合操作(distinct,count,group)与数据去重_百度知 ...

Mongodb中自带的基本聚合函数有三种:count、distinct和group。下面我们分别来讲述一下这三个基本聚合函数。(1)count 作用:简单统计集合中符合某种条件的文档数量。使用方式:db.collection.count(&lt;query&gt;)或者db.collection.find(&lt;query&gt;).count()参数说明:其中&lt;query&gt;是用于查询的目标条件。如果出了想...

MongoDB单文档大小限制是16M吗?这里包括嵌入的子文档吗

是的,包括嵌入的(embedded)子文档在内。这个限制是为了避免单个文档过大,完整读取时对内存或者网络带宽占用过高。根据目前MongoDB主开发人员的意思,他们不打算放开这个限制,但会随着计算资源相对成本的降低(内存更便宜,网络更快)而适度调高。官方解释:MongoDB limits the data size of individual B...

MongoDB单个文档最大16MB, 如果超过16MB,如何处理?

把能分开是数据分开存入多个文档 别的好像没什么好办法了 你好友动态一条一个文档是不会超过16MB的

MongoDB 索引

如果查询存在适当的索引,MongoDB可以使用该索引限制必须检查的文档数。索引是特殊的数据结构,它以易于遍历的形式存储集合数据集的一小部分。索引存储特定字段或一组字段的值,按字段值排序。索引项的排序支持有效的相等匹配和基于范围的查询操作。此外,MongoDB还可以使用索引中的排序返回排序结果。官网文档...

mongodb dbpath可以配置多个么

1、我试着到从 mongo启动参数 --dbpath入手,看能不能通过配置多个--dbpath来实现:mongodb能加载其他盘符上的数据,但是经过查阅资料发现此路不同。2、于是开始翻看mongo的启动参数,ok找到了,找到一个叫做directoryperdb 的参数,意思是:dbpath所指的文件夹下的数据库文件是否都是存在一个单独的文件...

mongo中一个文档的字段是list,怎么删除list中的数据

通过软件操作。通过cmd打开一个命令行窗口。通过mongo命令连接本地MongoDB数据库服务。注意:本地MongoDB服务需要工作在27017端口上,图示,连接成功即可。查看需要处理的集合:showdb命令查看所有数据库。use目标数据库,切换到目标数据库中。showcollections查看当前数据库下所有集合信息。

MongoDB 如何存储多级嵌套数据及操作增删改查❓

针对这个需求,可以考虑使用 MongoDB 的嵌套文档来存储权限列表。可以将权限列表存储为一个文档,其中每个权限都是一个嵌套的子文档。下面是一个示例文档:{ "_id": ObjectId("123456789012345678901234"),"name": "权限列表","access": [{ "id": "1","name": "权限1","code": "code1","...

mongodb存储数据和文档存储数据的区别?

MongoDB是文档型的行存储,行存储的读写过程是一致的,都是从第一列开始,到最后一列结束。行存储的写入是一次性完成,消耗的时间比列存储少,并且能够保证数据的完整性,缺点是数据读取过程中会产生冗余数据,如果只有少量数据,此影响可以忽略;数量大可能会影响到数据的处理效率。使用“文档”这个词似乎...

MongoDB 是什么?看完你就知道了

整个文档大小会限制在16m以内,因为这样可以防止创建难看的数据类型,且小文档可以提升性能,批量插入文档理想数字范围是10~200,大小不能超过16MB。 (2)解析查询时MongoDB通过最优计划选择一个索引进行查询,当没有最适合索引时,会先不同的使用各个索引进行查询,最终选出一个最优索引做查询 (3)如果有一个a-b的复合...

mongodb文档大小限制 mongodb子文档限制 mongodb限制某个字段的数量 mongodb中文文档 mongodb官方中文文档 mongodb文本数据库 mongodb文档查询慢 mongodb动态添加文档字段 mongodb字段长度限制
声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
大连大学中外办学值得上吗 大连大学国际本科是公办还是民办 介绍一些有古老气息的,有传说的地方,越多越好。最好在中国中部。 现在的日本鬼子难道一定是你们想的这样坏吗?坏的是日本政府! 我近几年在吃玉米的时候总是不消化,一吃就拉出来了,而且大便中... 同时掷3个均匀的骰子,当得知"其中两个骰子面朝上点数之和为8时"获得多... 重庆市工伤申请表的鉴定程序是什么的 ...做了包皮手术,有早泄有前列腺,在晚上睡觉梦游射精,有什么影响到病快... 电脑没声,音箱正常,也没发现有感叹号和问号.声音控制部分被禁用.是换了... 属狗女什么属相最配对,属狗女和什么属相最配 假期快结束了,你的假期过得开心么?为什么? 如果学生在外抽烟,被店长或者是被外人拍到发到微信群应该怎么办 墨本定律是真的吗? 女性小肚子里面有点疼是怎么回事? 高一高二学习不好的学生,该怎么学可以弥补不足、获得提升呢? 高中生学习过程中常遇到的问题 女性肚子疼是怎么回事 几大原因造成女性腹痛 设计师常用网站p开头的是什么网站 高中教育是我国教育中的关键环节,你觉得当前的高中教育存在哪些问题? 放过自己的说说 引起女性下腹部疼痛的原因有哪几种? 当代高中生存在的问题 看透所有的说说 高一新生的孩子目前存在主要问题是什么 女的偶尔肚子痛有哪几种原因? 抛析高中生活中存在的问题 女性下腹部疼痛的原因有哪几种? 女性小腹痛是什么原因引起的 高中生思想上存在的问题 高一学生行为习惯存在的问题 苹果5s开机要id密码怎么办 苹果5s怎样关闭开机密码 2008年中国人民银行发行了十元的纪念币吗? 苹果5s的开机密码怎么取消? 请问2008年奥运10元纪念币如何得到? iPhone5S开机需要id密码,但是忘了,能解开吗? 苹果5S刷机了,开机激活需要id和密码怎么办? iphone5s开机后显示touch id会在iphone重新启动时,要求你输入密码。怎么回事? 我想问一下2008年奥运会纪念币10元纸币的最新价格~ 苹果5S手机屏幕失灵,修好后开机要输入苹果APP密码吗? 关于面值10元的奥运纪念币? iphone5s开机后显示touch id会在iphone重新启动时,要求你输入密码。这手机是锁屏 苹果5s,开机需要密码,刷机后需要ID激活怎么解决? 问一下奥运会发行的纪念币10元,目前市场价大概是多少? 苹果5s忘记开机密码怎么办?指纹还在,关键是重新开机之后需要密码。 苹果5s还原后开机需要密码忘了怎么办 08年10元奥运纪念币 苹果5s怎么设置开机密码? 苹果5s重新启动需要输入什么密码 淘宝可不可以一键复制别人商品到自己店铺拿佣金