我在启动MongoDB shell时收到此警告:
3月20日星期三22:40:49.850 [initandlisten]
3月20日星期三22:40:49.850 [initandlisten]**警告:/ data的预读设置为2048KB
3月20日星期三22:40:49.850 [initandlisten]**我们建议将其设置为256KB(512扇区)或更少
3月20日星期三22:40:49.850 [initandlisten]** http://dochub.mongodb.org/core/readahead
我用过:
df/data
要查找驱动器的位置,我的数据已装入并随后使用:
sudo blockdev --setra 256/dev/mapper/vg0-data
将readahead设置为指定的256.我已经证实这有效:
sudo blockdev --getra/dev/mapper/vg0-data
但是在启动shell时我仍然遇到同样的错误?
UPDATE
我重新启动了mongodb服务器实例,但仍然收到此错误.
更新2
我的linux服务器托管在AWS上,因此使用虚拟卷.我已将所有这些卷的预读值设置为256并仍然收到此错误.
更新3
这是一个blockdev - MongoDB主实例的报告
RO RA SSZ BSZ StartSec Size Device
rw 256 512 4096 0 8589934592 /dev/xvda1
rw 256 512 4096 0 10737418240 /dev/xvdh8
rw 256 512 4096 0 10737418240 /dev/xvdh7
rw 256 512 4096 0 10737418240 /dev/xvdh6
rw 256 512 4096 0 10737418240 /dev/xvdh5
rw 256 512 4096 0 10737418240 /dev/xvdh4
rw 256 512 4096 0 10737418240 /dev/xvdh3
rw 256 512 4096 0 10737418240 /dev/xvdh2
rw 256 512 4096 0 10737418240 /dev/xvdh1
rw 4096 512 4096 0 42944430080 /dev/md127
rw 4096 512 4096 0 38646317056 /dev/dm-0
rw 4096 512 4096 0 2143289344 /dev/dm-1
rw 4096 512 4096 0 2143289344 /dev/dm-2
Run Code Online (Sandbox Code Playgroud)
这是一个blockdev - MongoDB的Secondary实例的报告
RO RA SSZ BSZ StartSec Size Device
rw 256 512 4096 0 8589934592 /dev/xvda1
rw 256 512 4096 0 10737418240 /dev/xvdh8
rw 256 512 4096 0 10737418240 /dev/xvdh7
rw 256 512 4096 0 10737418240 /dev/xvdh6
rw 256 512 4096 0 10737418240 /dev/xvdh5
rw 256 512 4096 0 10737418240 /dev/xvdh4
rw 256 512 4096 0 10737418240 /dev/xvdh3
rw 256 512 4096 0 10737418240 /dev/xvdh2
rw 256 512 4096 0 10737418240 /dev/xvdh1
rw 4096 512 4096 0 42944430080 /dev/md127
rw 4096 512 4096 0 38646317056 /dev/dm-0
rw 4096 512 4096 0 2143289344 /dev/dm-1
rw 4096 512 4096 0 2143289344 /dev/dm-2
Run Code Online (Sandbox Code Playgroud)
这是一个blockdev - MongoDB的Arbiter实例的报告
RO RA SSZ BSZ StartSec Size Device
rw 256 512 4096 0 8589934592 /dev/xvda1
Run Code Online (Sandbox Code Playgroud)
答案是blockdev --setra在启动脚本中运行.每次系统重新启动时,预读值都会恢复为默认值.
在我的情况下,我只知道我的逻辑驱动器是什么blockdev --report,然后我blockdev --setra在init.d中的MongoDB启动脚本的"开始"部分中的每个驱动器上运行.
希望这可以帮助其他人有类似的问题.