classify: unable to mmap database.kdb: Cannot allocate memory
-
Cannot allocate memory
问题:
classify: unable to mmap database.kdb: Cannot allocate memory可能的原因
- 进程数:
- [最大线程数]
sysctl kernel.pid_max - [当前线程数]
ps -eLf | wc -l
- [最大线程数]
- 修改交换内存
- [查看]
sudo swapon -s - [禁用交换文件]
sudo swapoff /swapfile - [增加内存]
sudo dd if=/dev/zero of=/swapfile bs=1M count=1024 oflag=append conv=notrunc - [设置交换文件]
sudo mkswap /swapfile - [启用交换文件]
sudo swapon /swapfile
- [查看]
- 内存分配策略 overcommit_memory
- 可能取值
- 0 默认,内核执行启发式内存过量使用处理,方法是估算可用内存量,并拒绝明显无效的请求。
- 1 内核执行无内存过量使用处理。使用这个设置会增大内存超载的可能性,但也可以增强大量使用内存任务的性能。
- 2 内存拒绝等于或者大于总可用 swap 大小以及overcommit_ratio指定的物理RAM比例的内存请求。
- [查看目前内存申请和可用情况]
cat /proc/meminfo | grep Commit- #CommitLimit 表示系统可申请的总内存
- #Committed_AS 为当前已经申请的内存
- echo 1 > /proc/sys/vm/overcommit_memory,然后sysctl -p永久生效
- 可能取值
- 进程数: