MongoDB 日志太大的解决方法

MongoDB的日志增长的很快,/var所在的空间马上就占满了,即便换到另一个磁盘分区保存日志,日志还是增长的很快,磁盘眼看要告磬。

有一个好办法,就是使用旋转日志。

MongoDB的旋转日志有点怪,Linux下mongd服务接受一个kill -SGIUSR1命令后就立刻将当前日志文件重命名为带日期的文件,然后创建新的日志文件。

不想一般的旋转日志,可以配置旋转策略。不过没关系,经过测试,发送该命令时不会影响到MongoDB的服务。

下面是一个例子,先查找进程id, 然后发送命令。

[email protected]:/etc/init.d# ps -def | grep mongod
mongodb    723    1 48 May04 ?        6-22:23:53 /usr/bin/mongod --config /etc/mongodb.conf
root    22035 22012  0 20:22 pts/2    00:00:00 grep --color=auto mongod
[email protected]:/etc/init.d# kill -SIGUSR1 723
[email protected]:/etc/init.d# cd /home/mongodb/log/
[email protected]:/home/mongodb/log# ls
mongodb.log  mongodb.log.2014-05-18T12-23-51
[email protected]:/home/mongodb/log# ls -alh
total 20G
drwxrwxrwx 2 root    root    4.0K May 18 20:23 .
drwxrwxrwx 4 root    root    4.0K Apr 20 21:25 ..
-rw-r--r-- 1 mongodb nogroup  34K May 18 20:24 mongodb.log
-rwxrwxrwx 1 mongodb nogroup  20G May 18 20:23 mongodb.log.2014-05-18T12-23-51

官方文档:

http://docs.mongodb.org/manual/tutorial/rotate-log-files/

现在可以将之前20G的日志文件挪走或者删除了。

也可以自己先个定时脚本,定期发送命令给mongod服务。

Linux下设置MongoDB开机自启动 http://www.linuxidc.com/Linux/2011-07/39149.htm

CentOS编译安装MongoDB http://www.linuxidc.com/Linux/2012-02/53834.htm

CentOS 编译安装 MongoDB与mongoDB的php扩展 http://www.linuxidc.com/Linux/2012-02/53833.htm

CentOS 6 使用 yum 安装MongoDB及服务器端配置 http://www.linuxidc.com/Linux/2012-08/68196.htm

Ubuntu 13.04下安装MongoDB2.4.3 http://www.linuxidc.com/Linux/2013-05/84227.htm

MongoDB入门必读(概念与实战并重) http://www.linuxidc.com/Linux/2013-07/87105.htm

《MongoDB 权威指南》(MongoDB: The Definitive Guide)英文文字版[PDF] http://www.linuxidc.com/Linux/2012-07/66735.htm

时间: 2024-10-18 13:45:25

MongoDB 日志太大的解决方法的相关文章

MongoDB 日志太大怎么办?

MongoDB的日志增长的很快,/var所在的空间马上就占满了,即便换到另一个磁盘分区保存日志,日志还是增长的很快,磁盘眼看要告磬. 有一个好办法,就是使用旋转日志. MongoDB的旋转日志有点怪,Linux下mongd服务接受一个kill -SGIUSR1命令后就立刻将当前日志文件重命名为带日期的文件,然后创建新的日志文件. 不想一般的旋转日志,可以配置旋转策略.不过没关系,经过测试,发送该命令时不会影响到MongoDB的服务. 下面是一个例子,先查找进程id, 然后发送命令. [email

Unity3D占用内存太大的解决方法【先转,慢慢看】

Unity3D占用内存太大的解决方法 最近网友通过网站搜索Unity3D在手机及其他平台下占用内存太大. 这里写下关于Unity3D对于内存的管理与优化. Unity3D 里有两种动态加载机制:一个是Resources.Load,另外一个通过AssetBundle,其实两者区别不大. Resources.Load就是从一个缺省打进程序包里的AssetBundle里加载资源,而一般AssetBundle文件需要你自己创建,运行时 动态加载,可以指定路径和来源的. 其实场景里所有静态的对象也有这么一

Unity3D占用内存太大的解决方法

原文链接:http://www.cnblogs.com/88999660/archive/2013/03/15/2961663.html 最近网友通过网站搜索Unity3D在手机及其他平台下占用内存太大. 这里写下关于Unity3D对于内存的管理与优化. Unity3D 里有两种动态加载机制:一个是Resources.Load,另外一个通过AssetBundle,其实两者区别不大. Resources.Load就是从一个缺省打进程序包里的AssetBundle里加载资源,而一般AssetBund

SQL SERVER LDF日志文件太大的解决方法

如何压缩日志及数据库文件大小 /*--特别注意 请按步骤进行,未进行前面的步骤,请不要做后面的步骤 否则可能损坏你的数据库. 一般不建议做第4,6两步 第4步不安全,有可能损坏数据库或丢失数据 第6步如果日志达到上限,则以后的数据库处理会失败,在清理日志后才能恢复. --*/ --下面的所有库名都指你要处理的数据库的库名 1.清空日志 DUMP     TRANSACTION     库名     WITH     NO_LOG 2.截断事务日志: BACKUP   LOG   库名   WIT

分享工作中遇到的问题积累经验 事务日志太大导致insert不进数据

原文:分享工作中遇到的问题积累经验 事务日志太大导致insert不进数据 分享工作中遇到的问题积累经验 事务日志太大导致insert不进数据 今天开发找我,说数据库insert不进数据,叫我看一下 他发了一个截图给我 然后我登录上服务器,发现了可疑的地方,而且这个数据库之前有一段经历 在月初的时候这个数据库曾经置疑过,启动不起来 Could not redo log record (163041:116859:5), for transaction ID (0:-1175226963), on

(转) SQL Server中 ldf 文件过大的解决方法

原文地址:http://blog.itpub.net/35489/viewspace-616459/ 在SQL Server中经常遇到事务日志变大的情况,除了将数据库设置为“自动收缩”外,还可以使用下面的SQL命令进行快速清除数据库中的事务日志,命令如下:  - 第一步:清空日志  DUMP TRANSACTION   databasename   WITH   NO_LOG  -- 第二步:截断事务日志  BACKUP LOG   databasename   WITH   NO_LOG  -

android DatePicker / TimePicker 占空间太大的解决办法

DatePicker 与 TimePicker 控件占用的空间是固定的,没有参数可以更改. 如果修改 length 和 width 属性,只会让控件被切割,显示将不完整.很多人说可以使用 scale 属性来放大或缩小 android:scaleX="0.8" android:scaleY="0.8" 这种方法虽然会缩小控件,但控件还是没法显示全. 找到的一个不错的解决办法是,用 Java 反射机制获取控件相关属性,然后修改.代码如下: Field[] fields

word编辑框太大的调节方法

编辑框太大的调节方法 1,在运行里输入   winword /a 2 , 设置成100%后,随便找个地方输入一个空格,或者做任何一种修改后再保存.要不保存后再次打开还是一样那么大

转(Response.WriteFile 无法下载大文件解决方法)

以前用Response.WriteFile(filename),但当遇到大文件时无法完整下载. 该方法最大的问题,它不是直接将数据抛到客户端,而是在服务器端(IIS)上缓存.当下载文件比较大时,服务器压力会很大,iis虽然支持2G大小的文件下载,但当文件上了很多M时,由于服务器以及网络等因素的影响,异常概率相当大.所以当需要下载大文件时就不能使用上面的方法了. 微软推荐以下方法代替之: ■将数据分成较小的部分,然后将其移动到输出流以供下载,从而获取这些数据. ■为用户提供用于下载文件的链接. ■