当我执行find
个查询,insert
个查询,update
个查询,bulk
个查询时,如何知道MongoDB占用的RAM,处理器和磁盘的消耗情况等
我虽然谈到MongoPerf,但它只显示了我的磁盘使用情况,尽管这是一个很棒的原因,但它可以创建线程,选择一定数量的gb并进行读写。但是我还需要知道需要多少RAM和处理器
就像为MongoDB做htop
答案 0 :(得分:2)
您可以使用ps(1)命令(我想您在Linux上)。
(在Linux上)可以通过编程使用milliseconds = pygame.time.Clock.tick(60)
文件系统(/proc/
,ps
,top
使用)。有关详细信息,请阅读proc(5)。
要获取MongoDb进程的pid,可以使用pidof(1)或pgrep(1)。如果htop
服务器的pid为1234,您应该对mongod
感兴趣。
请注意,(在Linux上)进程不会直接消耗内存。 (/proc/1234/status
服务器)进程有一个virtual address space,内核管理RAM(并在第一个进程之间分配)。您可能会对resident set size感兴趣(也可以通过mongod
或通过ps
进行查询)
可以通过/proc/
和/proc/1234/status
(请参见pmap(1))来查询pid 1234进程的虚拟地址空间。
如果您不熟悉/proc/1234/maps
,请在命令行上通过运行/proc/
和cat /proc/$$/status
并探索cat /proc/$$/maps
在命令行中对其进行操作。
在我的计算机上,/proc/$$/
提供了一些有趣的输出。