Solaris 模块调试器指南

休眠分配和非休眠分配

与标准 C 库的 malloc(3C) 函数不同,内核内存分配器可以阻塞(或休眠),一直等到有足够的虚拟内存可用于满足客户机的请求为止。 这一行为由 kmem_alloc(9F) 的 'flag' 参数控制。调用设置了 KM_SLEEP 标志的 kmem_alloc(9F) 决不会失败;它将永远阻塞,等待资源变为可用。