5 Replies Latest reply on Nov 27, 2012 4:36 AM by 975802

    Solaris 11.1: "apropos" extremely slow though "catman -w" performed

      Contrary to the prior apropos version, supported by the windex files, apropos now provides a very clear and tidy output. The problem is: Memory needs and particularly time consumption is enormous. Example:
      "man -k ls" in my case temporarily needs about *4G memory* and spends about *4 minutes* to finish.
      But then 11 entries are provided nicely.
      (2.67GHz machine)

      "catman -w" has been performed, and a "man-index" is present in each man directory.

      Any ideas?

      Edited by: 951921 on Nov 19, 2012 5:25 PM
        • 1. Re: Solaris 11.1: "apropos" extremely slow though "catman -w" performed
          it takes 0.1s here. Do you have the svc:/application/man-index:default service enabled?

          -k query ...

          Prints out one-line summaries from the index files.

          See the -K option for information regarding how the
          index files are generated. If there are no index files,
          manual page files are directly looked up, therefore
          yielding slower response time than cases where index
          files exist.
          • 2. Re: Solaris 11.1: "apropos" extremely slow though "catman -w" performed
            Hello user13277775.
            svc:/application/man-index:default is enabled - but its anyway only responsible for renewing the index files in the standard man paths when updates require that, like a (restricted) automatic catman -w.
            Concerning the remainder of your answer: Yes, I also think, it does a man -k (or even -K) without using the index.
            I read somewhere (cannot regain the location), that an "index.d" should exist in /usr/share/man.
            I can only find these already mentioned man-index, which are actually created during catman -w.
            Does "index.d" exist on your machine?
            • 3. Re: Solaris 11.1: "apropos" extremely slow though "catman -w" performed
              Hi, guy, Thanks for your feedbacks.
              According to your decription for the issue, I can not reproduce it in both a fresh Solaris11.1 and upgraded one. It seems normal. Can you provide more information in detail? For example, details of hardwares spec and index version(Got it with command, strings /usr/share/man/man-index/term.doc | head -n 1), it is better a core dump can provided if exists.
              As to the "index.d" mentioned by you, in fact, it will be automatically created with SMF service if the manifest of packages installed has been setup correctly. If you want to get more information, please refer to the demo, http://docs.oracle.com/cd/E26502_01/html/E21383/pkgdev.html#scrolltoc.
              Please continue to contact with me if there are any issues. :)
              • 4. Re: Solaris 11.1: "apropos" extremely slow though "catman -w" performed
                Hi 972799.
                The problem is solved, though the "index.d" still does not exist here. But I created the index (man-index directories) manually using catman -w. Seemingly index.d only arises if the index is renewed by the SMF.

                The problem was caused by a group of toxic manuals. There was
                - no problem or error message, displaying these manuals with man
                - no problem or error message, creating the index (and corresponding man-index directory) with catman -w.
                But when the path to these manuals existed in $MANPATH, arbitrary apropos was slow as described.
                So, simply excluding this path from $MANPATH solved the problem.
                The manual group was last updated in 2006 and included into the manual pool with a pkgadd in 2010.
                The manual stems from the package SUNWmcon.
                • 5. Re: Solaris 11.1: "apropos" extremely slow though "catman -w" performed
                  Hi, 951921, Thanks a lot for your information. I have found the root reason that seriously reduce "man -k "performance. I will fix it ASAP. :)