Zsh Mailing List Archive
Messages sorted by: Reverse Date, Date, Thread, Author

Re: Multi-Minute Startup?



On Thu, 7 Aug 2008, Aaron Davies wrote:
On Thu, Aug 7, 2008 at 3:00 PM, Benjamin R. Haskell <zsh@xxxxxxxxxx> wrote:
On Thu, 7 Aug 2008, Aaron Davies wrote:

It takes zsh multiple minutes (around 3) to start up on a new server I just got access to. I have no custom .z* files at this point, so all that's running should be the /etc files, of which only /etc/zshenv and /etc/zshrc are actually present. Any ideas what's likely to be slowing me down so much?

What O/S and architecture? (Not sure if it's relevant, but maybe Zsh doesn't run so fast on a 286.)

linux on some fairly new enterprise server hardware. i don't think it's the machine's fault. :)


Had ta ask... :-)


Try running zsh -x -l
-l makes it a login shell
-x is to trace commands as they're executed

Maybe that will reveal a particular command that's taking a long time to execute.

ah, looks like it's part of compaudit

+compaudit:84> IFS=: +compaudit:84> read GROUP _i_pw _i_gid GROUPMEM

is it trying to do something like read all users/groups from the
authentication system for completion? that might explain it, as our
directory server is 10,000 miles away. if that's the problem, is there
a way to get rid of it without having write access to the /etc/z*
files?


Something similar came up just under a month ago on this list:

==
Eric D. Friedman wrote:
Subject: new-style completion and large numbers of users

I'm using zsh 4.2.0 on a machine with a very large number of users. When I first log on and do a completion of any kind, it triggers a cache-load of all of the user names, which is quite time consuming. I'd like to disable that behavior but can't see how to do it. The archives have some ideas for old style completion but I didn't see anything for the new system.
==

==
Angel Olivera replied:

You can make zsh complete just the usernames you will be more likely to use with

zstyle ':completion:*' users user1 user2

Not specifying any users will effectively disable login name completions. See zshcompsys(1) for a description of this style.
==

I forget the order of Zsh's startup files, but maybe you can slip a similar zstyle command into something that will run before your slow compaudit command that will prevent it from fetching all the groups.

Best,
Ben



Messages sorted by: Reverse Date, Date, Thread, Author