Solaris 9 (SPARC 平台版本) 发行说明

当在 /etc/nsswitch.conf 中指定了 DNS,并且有多线程的应用程序在运行时,libresolv.so.2 会用尽交换文件空间 (4646349)

如果在 /etc/nsswitch.conf 文件中为主机或 IP 节点查找指定了 DNS,并且系统正在运行多线程的应用程序,则 nscd 守护程序会发生故障。此问题之所以发生,是因为 nscd 守护程序的大小会慢慢增大,并且会耗尽 4 GB 的交换空间。如果所有的交换空间都被耗尽,则 nscd 将崩溃,而其它新进程可能会受到各种随机错误的干扰。

解决方法:若要避免发生此问题,请按以下这些步骤修改 nscd 设置。

  1. 成为超级用户。

  2. 停止 nscd 守护程序。


    # /etc/init.d/nscd stop
    

  3. /etc/nscd.conf 文件中添加或修改下列各行。

    • keep-hot-count hosts 0

    • keep-hot-count ipnodes 0

  4. 重新启动 nscd 守护程序。


    # /etc/init.d/nscd start
    


    注意:

    不运行 nscd 将导致执行主机查找的任何多线程应用程序中出现相同的泄漏。