mongodb删除集合后磁盘空间不释放,只有用db.repairDatabase()去修复才能释放。
但是在修复的过程中如果出现了非正常的mongodb的挂掉,再次启动时启动不了的,需要先修复才可以,
可以利用./mongod --repair --dbpath=/data/mongo/ 如果你是把数据库单独的放在一个文件夹中指定dbpath时就指
向要修复的数据库就可以,修复可能要花费很长的时间,在使用db.repairDatabase()去修复时一定要停掉读写,并且
mongodb要有备机才可以,不然千万不要随便使用db.repairDatabase()来修复数据库,切记。
mognodb 在删除数据的情况下不释放占用的磁盘空间,即使drop collection也不行,除非drop database。
即,mongodb占用内存为10G时,删除8G数据后,数据文件占用空间大小仍是10G。"df"命令查看内存占用没有变化。
平时可以通过mongo命令行来监控MongoDB的内存使用情况,如下所示:
mongo> db.serverStatus().mem
{
"resident" : 22346,
"virtual" : 1938524,
"mapped" : 962283
}还可以通过mongostat命令来监控MongoDB的内存使用情况,如下所示:
shell> mongostat
mapped vsize res faults
940g 1893g 21.9g 0
其中内存相关字段的含义是:
mapped:映射到内存的数据大小
visze:占用的虚拟内存大小
res:占用的物理内存大小
注:如果操作不能在内存中完成,结果faults列的数值不会是0,视大小可能有性能问题。
在上面的结果中,vsize是mapped的两倍,而mapped等于数据文件的大小,所以说vsize是数据文件的两倍,
之所以会这样,是因为本例中,MongoDB开启了journal,需要在内存里多映射一次数据文件,如果关闭journal,
则vsize和mapped大致相当。
1.验证删除数据后用db.serverStatus().mem命令查看的内存占用是否变化:
查看mongo内存占用:
![关于mongodb删除集合后磁盘空间不释放的问题 关于mongodb删除集合后磁盘空间不释放的问题](https://image.shishitao.com:8440/aHR0cHM6Ly9iYnNtYXguaWthZmFuLmNvbS9zdGF0aWMvTDNCeWIzaDVMMmgwZEhCekwybHRaeTFpYkc5bkxtTnpaRzR1Ym1WMEx6SXdNVGd3TVRFd01qTXlPREV4TmpFd1AzZGhkR1Z5YldGeWF5OHlMM1JsZUhRdllVaFNNR05FYjNaTU1rcHpZakpqZFZrelRtdGlhVFYxV2xoUmRtUXlWbkJsUjJ4MVdIcFJkMDFxVFRST2Fra3hMMlp2Ym5Rdk5XRTJURFZNTWxRdlptOXVkSE5wZW1Vdk5EQXdMMlpwYkd3dlNUQktRbEZyUmtOTlFUMDlMMlJwYzNOdmJIWmxMemN3TDJkeVlYWnBkSGt2VTI5MWRHaEZZWE4wLmpwZw%3D%3D.jpg?w=700&webp=1)
查看系统内存占用:
![关于mongodb删除集合后磁盘空间不释放的问题 关于mongodb删除集合后磁盘空间不释放的问题](https://image.shishitao.com:8440/aHR0cHM6Ly9iYnNtYXguaWthZmFuLmNvbS9zdGF0aWMvTDNCeWIzaDVMMmgwZEhCekwybHRaeTFpYkc5bkxtTnpaRzR1Ym1WMEx6SXdNVGd3TVRFd01qTXlPRE15T1RjM1AzZGhkR1Z5YldGeWF5OHlMM1JsZUhRdllVaFNNR05FYjNaTU1rcHpZakpqZFZrelRtdGlhVFYxV2xoUmRtUXlWbkJsUjJ4MVdIcFJkMDFxVFRST2Fra3hMMlp2Ym5Rdk5XRTJURFZNTWxRdlptOXVkSE5wZW1Vdk5EQXdMMlpwYkd3dlNUQktRbEZyUmtOTlFUMDlMMlJwYzNOdmJIWmxMemN3TDJkeVlYWnBkSGt2VTI5MWRHaEZZWE4wLmpwZw%3D%3D.jpg?w=700&webp=1)
使用脚本向mongo插入大量数据。
![关于mongodb删除集合后磁盘空间不释放的问题 关于mongodb删除集合后磁盘空间不释放的问题](https://image.shishitao.com:8440/aHR0cHM6Ly9iYnNtYXguaWthZmFuLmNvbS9zdGF0aWMvTDNCeWIzaDVMMmgwZEhCekwybHRaeTFpYkc5bkxtTnpaRzR1Ym1WMEx6SXdNVGd3TVRFd01qTXlPRFE1TVRNelAzZGhkR1Z5YldGeWF5OHlMM1JsZUhRdllVaFNNR05FYjNaTU1rcHpZakpqZFZrelRtdGlhVFYxV2xoUmRtUXlWbkJsUjJ4MVdIcFJkMDFxVFRST2Fra3hMMlp2Ym5Rdk5XRTJURFZNTWxRdlptOXVkSE5wZW1Vdk5EQXdMMlpwYkd3dlNUQktRbEZyUmtOTlFUMDlMMlJwYzNOdmJIWmxMemN3TDJkeVlYWnBkSGt2VTI5MWRHaEZZWE4wLmpwZw%3D%3D.jpg?w=700&webp=1)
![关于mongodb删除集合后磁盘空间不释放的问题 关于mongodb删除集合后磁盘空间不释放的问题](https://image.shishitao.com:8440/aHR0cHM6Ly9iYnNtYXguaWthZmFuLmNvbS9zdGF0aWMvTDNCeWIzaDVMMmgwZEhCekwybHRaeTFpYkc5bkxtTnpaRzR1Ym1WMEx6SXdNVGd3TVRFd01qTXlPVEF6T0RFM1AzZGhkR1Z5YldGeWF5OHlMM1JsZUhRdllVaFNNR05FYjNaTU1rcHpZakpqZFZrelRtdGlhVFYxV2xoUmRtUXlWbkJsUjJ4MVdIcFJkMDFxVFRST2Fra3hMMlp2Ym5Rdk5XRTJURFZNTWxRdlptOXVkSE5wZW1Vdk5EQXdMMlpwYkd3dlNUQktRbEZyUmtOTlFUMDlMMlJwYzNOdmJIWmxMemN3TDJkeVlYWnBkSGt2VTI5MWRHaEZZWE4wLmpwZw%3D%3D.jpg?w=700&webp=1)
删除插入的数据后:
![关于mongodb删除集合后磁盘空间不释放的问题 关于mongodb删除集合后磁盘空间不释放的问题](https://image.shishitao.com:8440/aHR0cHM6Ly9iYnNtYXguaWthZmFuLmNvbS9zdGF0aWMvTDNCeWIzaDVMMmgwZEhCekwybHRaeTFpYkc5bkxtTnpaRzR1Ym1WMEx6SXdNVGd3TVRFd01qTXlPVEUzTkRZMlAzZGhkR1Z5YldGeWF5OHlMM1JsZUhRdllVaFNNR05FYjNaTU1rcHpZakpqZFZrelRtdGlhVFYxV2xoUmRtUXlWbkJsUjJ4MVdIcFJkMDFxVFRST2Fra3hMMlp2Ym5Rdk5XRTJURFZNTWxRdlptOXVkSE5wZW1Vdk5EQXdMMlpwYkd3dlNUQktRbEZyUmtOTlFUMDlMMlJwYzNOdmJIWmxMemN3TDJkeVlYWnBkSGt2VTI5MWRHaEZZWE4wLmpwZw%3D%3D.jpg?w=700&webp=1)
![关于mongodb删除集合后磁盘空间不释放的问题 关于mongodb删除集合后磁盘空间不释放的问题](https://image.shishitao.com:8440/aHR0cHM6Ly9iYnNtYXguaWthZmFuLmNvbS9zdGF0aWMvTDNCeWIzaDVMMmgwZEhCekwybHRaeTFpYkc5bkxtTnpaRzR1Ym1WMEx6SXdNVGd3TVRFd01qTXlPVE13TVRRelAzZGhkR1Z5YldGeWF5OHlMM1JsZUhRdllVaFNNR05FYjNaTU1rcHpZakpqZFZrelRtdGlhVFYxV2xoUmRtUXlWbkJsUjJ4MVdIcFJkMDFxVFRST2Fra3hMMlp2Ym5Rdk5XRTJURFZNTWxRdlptOXVkSE5wZW1Vdk5EQXdMMlpwYkd3dlNUQktRbEZyUmtOTlFUMDlMMlJwYzNOdmJIWmxMemN3TDJkeVlYWnBkSGt2VTI5MWRHaEZZWE4wLmpwZw%3D%3D.jpg?w=700&webp=1)
结论:删除collection内的数据不会释放磁盘空间;
可以采用db.runCommand({closeAllDatabases:1}):
![关于mongodb删除集合后磁盘空间不释放的问题 关于mongodb删除集合后磁盘空间不释放的问题](https://image.shishitao.com:8440/aHR0cHM6Ly9iYnNtYXguaWthZmFuLmNvbS9zdGF0aWMvTDNCeWIzaDVMMmgwZEhCekwybHRaeTFpYkc5bkxtTnpaRzR1Ym1WMEx6SXdNVGd3TVRFd01qTXlPVFF5TlRRMlAzZGhkR1Z5YldGeWF5OHlMM1JsZUhRdllVaFNNR05FYjNaTU1rcHpZakpqZFZrelRtdGlhVFYxV2xoUmRtUXlWbkJsUjJ4MVdIcFJkMDFxVFRST2Fra3hMMlp2Ym5Rdk5XRTJURFZNTWxRdlptOXVkSE5wZW1Vdk5EQXdMMlpwYkd3dlNUQktRbEZyUmtOTlFUMDlMMlJwYzNOdmJIWmxMemN3TDJkeVlYWnBkSGt2VTI5MWRHaEZZWE4wLmpwZw%3D%3D.jpg?w=700&webp=1)
利用dbshell指令查看内存占用显示已释放;
![关于mongodb删除集合后磁盘空间不释放的问题 关于mongodb删除集合后磁盘空间不释放的问题](https://image.shishitao.com:8440/aHR0cHM6Ly9iYnNtYXguaWthZmFuLmNvbS9zdGF0aWMvTDNCeWIzaDVMMmgwZEhCekwybHRaeTFpYkc5bkxtTnpaRzR1Ym1WMEx6SXdNVGd3TVRFd01qTXlPVFV6T0RjMFAzZGhkR1Z5YldGeWF5OHlMM1JsZUhRdllVaFNNR05FYjNaTU1rcHpZakpqZFZrelRtdGlhVFYxV2xoUmRtUXlWbkJsUjJ4MVdIcFJkMDFxVFRST2Fra3hMMlp2Ym5Rdk5XRTJURFZNTWxRdlptOXVkSE5wZW1Vdk5EQXdMMlpwYkd3dlNUQktRbEZyUmtOTlFUMDlMMlJwYzNOdmJIWmxMemN3TDJkeVlYWnBkSGt2VTI5MWRHaEZZWE4wLmpwZw%3D%3D.jpg?w=700&webp=1)
linux shell查看内存还没释放
进入删除了数据的db,采用db.repairDatabase():
![关于mongodb删除集合后磁盘空间不释放的问题 关于mongodb删除集合后磁盘空间不释放的问题](https://image.shishitao.com:8440/aHR0cHM6Ly9iYnNtYXguaWthZmFuLmNvbS9zdGF0aWMvTDNCeWIzaDVMMmgwZEhCekwybHRaeTFpYkc5bkxtTnpaRzR1Ym1WMEx6SXdNVGd3TVRFd01qTXpNREUwT0RjNVAzZGhkR1Z5YldGeWF5OHlMM1JsZUhRdllVaFNNR05FYjNaTU1rcHpZakpqZFZrelRtdGlhVFYxV2xoUmRtUXlWbkJsUjJ4MVdIcFJkMDFxVFRST2Fra3hMMlp2Ym5Rdk5XRTJURFZNTWxRdlptOXVkSE5wZW1Vdk5EQXdMMlpwYkd3dlNUQktRbEZyUmtOTlFUMDlMMlJwYzNOdmJIWmxMemN3TDJkeVlYWnBkSGt2VTI5MWRHaEZZWE4wLmpwZw%3D%3D.jpg?w=700&webp=1)
![关于mongodb删除集合后磁盘空间不释放的问题 关于mongodb删除集合后磁盘空间不释放的问题](https://image.shishitao.com:8440/aHR0cHM6Ly9iYnNtYXguaWthZmFuLmNvbS9zdGF0aWMvTDNCeWIzaDVMMmgwZEhCekwybHRaeTFpYkc5bkxtTnpaRzR1Ym1WMEx6SXdNVGd3TVRFd01qTXpNREk0TlRJeVAzZGhkR1Z5YldGeWF5OHlMM1JsZUhRdllVaFNNR05FYjNaTU1rcHpZakpqZFZrelRtdGlhVFYxV2xoUmRtUXlWbkJsUjJ4MVdIcFJkMDFxVFRST2Fra3hMMlp2Ym5Rdk5XRTJURFZNTWxRdlptOXVkSE5wZW1Vdk5EQXdMMlpwYkd3dlNUQktRbEZyUmtOTlFUMDlMMlJwYzNOdmJIWmxMemN3TDJkeVlYWnBkSGt2VTI5MWRHaEZZWE4wLmpwZw%3D%3D.jpg?w=700&webp=1)
磁盘内存已经释放。
repairDatabase是官方文档中认为唯一可以回收硬盘空间的方法。
repairDatabase is the appropriate and the only way to reclaim disk space.
虽然可以用 db.repairDatabase()修复数据。但这种方法有两个不好的地方。1.在生产上操作如果意外停止可能会造成数据无法恢复的危险。2.如果磁盘空间不足,小于现在这个db时间占有的空间,这种情况是用不了 db.repairDatabase()的。
注意,repairDatabase操作所需要磁盘的空余空间为当前数据总量再加上2G。如果当前磁盘分区空间不足,可以尝试用 –repairpath 参数指定一个空间足够的分区路径。
试验在内存占用超过50%的情况下能否使用db.repairDatabase()命令释放占用的内存空间:
1.释放内存小于当前剩余内存的情况:
![关于mongodb删除集合后磁盘空间不释放的问题 关于mongodb删除集合后磁盘空间不释放的问题](https://image.shishitao.com:8440/aHR0cHM6Ly9iYnNtYXguaWthZmFuLmNvbS9zdGF0aWMvTDNCeWIzaDVMMmgwZEhCekwybHRaeTFpYkc5bkxtTnpaRzR1Ym1WMEx6SXdNVGd3TVRFd01qTXpNRFF6TXpJMVAzZGhkR1Z5YldGeWF5OHlMM1JsZUhRdllVaFNNR05FYjNaTU1rcHpZakpqZFZrelRtdGlhVFYxV2xoUmRtUXlWbkJsUjJ4MVdIcFJkMDFxVFRST2Fra3hMMlp2Ym5Rdk5XRTJURFZNTWxRdlptOXVkSE5wZW1Vdk5EQXdMMlpwYkd3dlNUQktRbEZyUmtOTlFUMDlMMlJwYzNOdmJIWmxMemN3TDJkeVlYWnBkSGt2VTI5MWRHaEZZWE4wLmpwZw%3D%3D.jpg?w=700&webp=1)
![关于mongodb删除集合后磁盘空间不释放的问题 关于mongodb删除集合后磁盘空间不释放的问题](https://image.shishitao.com:8440/aHR0cHM6Ly9iYnNtYXguaWthZmFuLmNvbS9zdGF0aWMvTDNCeWIzaDVMMmgwZEhCekwybHRaeTFpYkc5bkxtTnpaRzR1Ym1WMEx6SXdNVGd3TVRFd01qTXpNVEl3TmpBMFAzZGhkR1Z5YldGeWF5OHlMM1JsZUhRdllVaFNNR05FYjNaTU1rcHpZakpqZFZrelRtdGlhVFYxV2xoUmRtUXlWbkJsUjJ4MVdIcFJkMDFxVFRST2Fra3hMMlp2Ym5Rdk5XRTJURFZNTWxRdlptOXVkSE5wZW1Vdk5EQXdMMlpwYkd3dlNUQktRbEZyUmtOTlFUMDlMMlJwYzNOdmJIWmxMemN3TDJkeVlYWnBkSGt2VTI5MWRHaEZZWE4wLmpwZw%3D%3D.jpg?w=700&webp=1)
删除数据后:
![关于mongodb删除集合后磁盘空间不释放的问题 关于mongodb删除集合后磁盘空间不释放的问题](https://image.shishitao.com:8440/aHR0cHM6Ly9iYnNtYXguaWthZmFuLmNvbS9zdGF0aWMvTDNCeWIzaDVMMmgwZEhCekwybHRaeTFpYkc5bkxtTnpaRzR1Ym1WMEx6SXdNVGd3TVRFd01qTXpNVEk1TlRjMVAzZGhkR1Z5YldGeWF5OHlMM1JsZUhRdllVaFNNR05FYjNaTU1rcHpZakpqZFZrelRtdGlhVFYxV2xoUmRtUXlWbkJsUjJ4MVdIcFJkMDFxVFRST2Fra3hMMlp2Ym5Rdk5XRTJURFZNTWxRdlptOXVkSE5wZW1Vdk5EQXdMMlpwYkd3dlNUQktRbEZyUmtOTlFUMDlMMlJwYzNOdmJIWmxMemN3TDJkeVlYWnBkSGt2VTI5MWRHaEZZWE4wLmpwZw%3D%3D.jpg?w=700&webp=1)
![关于mongodb删除集合后磁盘空间不释放的问题 关于mongodb删除集合后磁盘空间不释放的问题](https://image.shishitao.com:8440/aHR0cHM6Ly9iYnNtYXguaWthZmFuLmNvbS9zdGF0aWMvTDNCeWIzaDVMMmgwZEhCekwybHRaeTFpYkc5bkxtTnpaRzR1Ym1WMEx6SXdNVGd3TVRFd01qTXpNVE01T1RNMlAzZGhkR1Z5YldGeWF5OHlMM1JsZUhRdllVaFNNR05FYjNaTU1rcHpZakpqZFZrelRtdGlhVFYxV2xoUmRtUXlWbkJsUjJ4MVdIcFJkMDFxVFRST2Fra3hMMlp2Ym5Rdk5XRTJURFZNTWxRdlptOXVkSE5wZW1Vdk5EQXdMMlpwYkd3dlNUQktRbEZyUmtOTlFUMDlMMlJwYzNOdmJIWmxMemN3TDJkeVlYWnBkSGt2VTI5MWRHaEZZWE4wLmpwZw%3D%3D.jpg?w=700&webp=1)
执行db.repairDatabase()
![关于mongodb删除集合后磁盘空间不释放的问题 关于mongodb删除集合后磁盘空间不释放的问题](https://image.shishitao.com:8440/aHR0cHM6Ly9iYnNtYXguaWthZmFuLmNvbS9zdGF0aWMvTDNCeWIzaDVMMmgwZEhCekwybHRaeTFpYkc5bkxtTnpaRzR1Ym1WMEx6SXdNVGd3TVRFd01qTXpNVFV6TmpZd1AzZGhkR1Z5YldGeWF5OHlMM1JsZUhRdllVaFNNR05FYjNaTU1rcHpZakpqZFZrelRtdGlhVFYxV2xoUmRtUXlWbkJsUjJ4MVdIcFJkMDFxVFRST2Fra3hMMlp2Ym5Rdk5XRTJURFZNTWxRdlptOXVkSE5wZW1Vdk5EQXdMMlpwYkd3dlNUQktRbEZyUmtOTlFUMDlMMlJwYzNOdmJIWmxMemN3TDJkeVlYWnBkSGt2VTI5MWRHaEZZWE4wLmpwZw%3D%3D.jpg?w=700&webp=1)
![关于mongodb删除集合后磁盘空间不释放的问题 关于mongodb删除集合后磁盘空间不释放的问题](https://image.shishitao.com:8440/aHR0cHM6Ly9iYnNtYXguaWthZmFuLmNvbS9zdGF0aWMvTDNCeWIzaDVMMmgwZEhCekwybHRaeTFpYkc5bkxtTnpaRzR1Ym1WMEx6SXdNVGd3TVRFd01qTXpNakExTWpFMVAzZGhkR1Z5YldGeWF5OHlMM1JsZUhRdllVaFNNR05FYjNaTU1rcHpZakpqZFZrelRtdGlhVFYxV2xoUmRtUXlWbkJsUjJ4MVdIcFJkMDFxVFRST2Fra3hMMlp2Ym5Rdk5XRTJURFZNTWxRdlptOXVkSE5wZW1Vdk5EQXdMMlpwYkd3dlNUQktRbEZyUmtOTlFUMDlMMlJwYzNOdmJIWmxMemN3TDJkeVlYWnBkSGt2VTI5MWRHaEZZWE4wLmpwZw%3D%3D.jpg?w=700&webp=1)
结论:释放的内存小于当前剩余内存,释放成功。
2.释放的内存大于当前内存的情况:
![关于mongodb删除集合后磁盘空间不释放的问题 关于mongodb删除集合后磁盘空间不释放的问题](https://image.shishitao.com:8440/aHR0cHM6Ly9iYnNtYXguaWthZmFuLmNvbS9zdGF0aWMvTDNCeWIzaDVMMmgwZEhCekwybHRaeTFpYkc5bkxtTnpaRzR1Ym1WMEx6SXdNVGd3TVRFd01qTXpNalV6TlRVd1AzZGhkR1Z5YldGeWF5OHlMM1JsZUhRdllVaFNNR05FYjNaTU1rcHpZakpqZFZrelRtdGlhVFYxV2xoUmRtUXlWbkJsUjJ4MVdIcFJkMDFxVFRST2Fra3hMMlp2Ym5Rdk5XRTJURFZNTWxRdlptOXVkSE5wZW1Vdk5EQXdMMlpwYkd3dlNUQktRbEZyUmtOTlFUMDlMMlJwYzNOdmJIWmxMemN3TDJkeVlYWnBkSGt2VTI5MWRHaEZZWE4wLmpwZw%3D%3D.jpg?w=700&webp=1)
![关于mongodb删除集合后磁盘空间不释放的问题 关于mongodb删除集合后磁盘空间不释放的问题](https://image.shishitao.com:8440/aHR0cHM6Ly9iYnNtYXguaWthZmFuLmNvbS9zdGF0aWMvTDNCeWIzaDVMMmgwZEhCekwybHRaeTFpYkc5bkxtTnpaRzR1Ym1WMEx6SXdNVGd3TVRFd01qTXpNekV6T1RRelAzZGhkR1Z5YldGeWF5OHlMM1JsZUhRdllVaFNNR05FYjNaTU1rcHpZakpqZFZrelRtdGlhVFYxV2xoUmRtUXlWbkJsUjJ4MVdIcFJkMDFxVFRST2Fra3hMMlp2Ym5Rdk5XRTJURFZNTWxRdlptOXVkSE5wZW1Vdk5EQXdMMlpwYkd3dlNUQktRbEZyUmtOTlFUMDlMMlJwYzNOdmJIWmxMemN3TDJkeVlYWnBkSGt2VTI5MWRHaEZZWE4wLmpwZw%3D%3D.jpg?w=700&webp=1)
删除数据后:
![关于mongodb删除集合后磁盘空间不释放的问题 关于mongodb删除集合后磁盘空间不释放的问题](https://image.shishitao.com:8440/aHR0cHM6Ly9iYnNtYXguaWthZmFuLmNvbS9zdGF0aWMvTDNCeWIzaDVMMmgwZEhCekwybHRaeTFpYkc5bkxtTnpaRzR1Ym1WMEx6SXdNVGd3TVRFd01qTXpNelF5TmpFelAzZGhkR1Z5YldGeWF5OHlMM1JsZUhRdllVaFNNR05FYjNaTU1rcHpZakpqZFZrelRtdGlhVFYxV2xoUmRtUXlWbkJsUjJ4MVdIcFJkMDFxVFRST2Fra3hMMlp2Ym5Rdk5XRTJURFZNTWxRdlptOXVkSE5wZW1Vdk5EQXdMMlpwYkd3dlNUQktRbEZyUmtOTlFUMDlMMlJwYzNOdmJIWmxMemN3TDJkeVlYWnBkSGt2VTI5MWRHaEZZWE4wLmpwZw%3D%3D.jpg?w=700&webp=1)
![关于mongodb删除集合后磁盘空间不释放的问题 关于mongodb删除集合后磁盘空间不释放的问题](https://image.shishitao.com:8440/aHR0cHM6Ly9iYnNtYXguaWthZmFuLmNvbS9zdGF0aWMvTDNCeWIzaDVMMmgwZEhCekwybHRaeTFpYkc5bkxtTnpaRzR1Ym1WMEx6SXdNVGd3TVRFd01qTXpORFE0TWpReFAzZGhkR1Z5YldGeWF5OHlMM1JsZUhRdllVaFNNR05FYjNaTU1rcHpZakpqZFZrelRtdGlhVFYxV2xoUmRtUXlWbkJsUjJ4MVdIcFJkMDFxVFRST2Fra3hMMlp2Ym5Rdk5XRTJURFZNTWxRdlptOXVkSE5wZW1Vdk5EQXdMMlpwYkd3dlNUQktRbEZyUmtOTlFUMDlMMlJwYzNOdmJIWmxMemN3TDJkeVlYWnBkSGt2VTI5MWRHaEZZWE4wLmpwZw%3D%3D.jpg?w=700&webp=1)
执行db.repairDatabase()
![关于mongodb删除集合后磁盘空间不释放的问题 关于mongodb删除集合后磁盘空间不释放的问题](https://image.shishitao.com:8440/aHR0cHM6Ly9iYnNtYXguaWthZmFuLmNvbS9zdGF0aWMvTDNCeWIzaDVMMmgwZEhCekwybHRaeTFpYkc5bkxtTnpaRzR1Ym1WMEx6SXdNVGd3TVRFd01qTXpOVEF6TVRjNFAzZGhkR1Z5YldGeWF5OHlMM1JsZUhRdllVaFNNR05FYjNaTU1rcHpZakpqZFZrelRtdGlhVFYxV2xoUmRtUXlWbkJsUjJ4MVdIcFJkMDFxVFRST2Fra3hMMlp2Ym5Rdk5XRTJURFZNTWxRdlptOXVkSE5wZW1Vdk5EQXdMMlpwYkd3dlNUQktRbEZyUmtOTlFUMDlMMlJwYzNOdmJIWmxMemN3TDJkeVlYWnBkSGt2VTI5MWRHaEZZWE4wLmpwZw%3D%3D.jpg?w=700&webp=1)
![关于mongodb删除集合后磁盘空间不释放的问题 关于mongodb删除集合后磁盘空间不释放的问题](https://image.shishitao.com:8440/aHR0cHM6Ly9iYnNtYXguaWthZmFuLmNvbS9zdGF0aWMvTDNCeWIzaDVMMmgwZEhCekwybHRaeTFpYkc5bkxtTnpaRzR1Ym1WMEx6SXdNVGd3TVRFd01qTXpOakF5TmpJM1AzZGhkR1Z5YldGeWF5OHlMM1JsZUhRdllVaFNNR05FYjNaTU1rcHpZakpqZFZrelRtdGlhVFYxV2xoUmRtUXlWbkJsUjJ4MVdIcFJkMDFxVFRST2Fra3hMMlp2Ym5Rdk5XRTJURFZNTWxRdlptOXVkSE5wZW1Vdk5EQXdMMlpwYkd3dlNUQktRbEZyUmtOTlFUMDlMMlJwYzNOdmJIWmxMemN3TDJkeVlYWnBkSGt2VTI5MWRHaEZZWE4wLmpwZw%3D%3D.jpg?w=700&webp=1)
无法释放内存
另:
python操作mongo释放空间:
![关于mongodb删除集合后磁盘空间不释放的问题 关于mongodb删除集合后磁盘空间不释放的问题](https://image.shishitao.com:8440/aHR0cHM6Ly9iYnNtYXguaWthZmFuLmNvbS9zdGF0aWMvTDNCeWIzaDVMMmgwZEhCekwybHRaeTFpYkc5bkxtTnpaRzR1Ym1WMEx6SXdNVGd3TVRFd01qTTBNalUyTXpVMlAzZGhkR1Z5YldGeWF5OHlMM1JsZUhRdllVaFNNR05FYjNaTU1rcHpZakpqZFZrelRtdGlhVFYxV2xoUmRtUXlWbkJsUjJ4MVdIcFJkMDFxVFRST2Fra3hMMlp2Ym5Rdk5XRTJURFZNTWxRdlptOXVkSE5wZW1Vdk5EQXdMMlpwYkd3dlNUQktRbEZyUmtOTlFUMDlMMlJwYzNOdmJIWmxMemN3TDJkeVlYWnBkSGt2VTI5MWRHaEZZWE4wLmpwZw%3D%3D.jpg?w=700&webp=1)
利用管道的方式将 db.repairDatabase() 命令写入mongo.
--------------------- 本文来自 四月的水 的CSDN 博客 ,全文地址请点击:https://blog.csdn.net/weixin_40238625/article/details/78992432?utm_source=copy