Messages in this thread | | | Date | Fri, 26 Mar 1999 17:24:47 +0100 | From | Thierry Danis <> | Subject | rpc.kmountd & ypserv.output strange behaviour |
| |
Hello,
I've seen a (maybe) strange behaviour using rpc.kmountd and ypserv on a 2.2.4 (and 2.2.2-acxxx, 2.2.3-acxxx) NFS server machine :
I have a 2.2.4 (2.2.2-acxxx, 2.2.3-acxxx, or Solaris as well) NFS client machine automounting the NFS server.
Sometimes, [auto]mounting the NFS partition on the server takes a lot of time. 'top' shows that ypserv and rpc.kmountd are taking between 20% and 30% each. And it lasts for seconds, if not minutes.
I have straced both processes and here what I get :
============================ ypserv ==================================== open("/etc/hosts.allow", O_RDONLY) = 8 fstat(8, {st_mode=S_IFIFO|S_ISUID|S_ISGID|S_ISVTX|043, st_size=0, ...}) = 0 mmap(0, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x4000b000 read(8, "#\n# hosts.allow\tThis file desc"..., 4096) = 180 read(8, "", 4096) = 0 close(8) = 0 munmap(0x4000b000, 4096) = 0 open("/etc/hosts.deny", O_RDONLY) = 8 fstat(8, {st_mode=S_ISUID|05, st_size=0, ...}) = 0 mmap(0, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x4000b000 read(8, "#\n# hosts.deny\tThis file descr"..., 4096) = 364 read(8, "", 4096) = 0 close(8) = 0 munmap(0x4000b000, 4096) = 0 fork() = 28496 --- SIGCHLD (Le processus `enfant' a terminé.) --- wait4(-1, [WIFEXITED(s) && WEXITSTATUS(s) == 0], WNOHANG, NULL) = 28496 wait4(-1, [WIFEXITED(s) && WEXITSTATUS(s) == 0], WNOHANG, NULL) = 28495 wait4(-1, 0xbffff610, WNOHANG, NULL) = -1 ECHILD (No child processes) sigreturn() = ? (mask now []) --- SIGCHLD (Le processus `enfant' a terminé.) --- wait4(-1, 0xbffff610, WNOHANG, NULL) = -1 ECHILD (No child processes) sigreturn() = ? (mask now []) select(1024, [1 2], NULL, NULL, NULL) = 1 (in [1]) recvfrom(1, "7\363xJ\0\0\0\0\0\0\0\2\0\1\206\244"..., 8800, 0, {sin_family=AF_INET, sin_port=htons(781), sin_addr=inet_addr("127.0.0.1")}, [16]) = 84 stat("spmo.sagem.fr", {st_mode=0, st_size=0, ...}) = 0 getpid() = 195 ........................ and it loops back to the first 'open' .............
======================= rpc.kmountd ======================================= open("/etc/hosts", O_RDONLY) = 8 fcntl(8, F_GETFD) = 0 fcntl(8, F_SETFD, FD_CLOEXEC) = 0 fstat(8, {st_mode=0, st_size=0, ...}) = 0 mmap(0, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x4000c000 read(8, "127.0.0.1 localhos"..., 4096) = 100 read(8, "", 4096) = 0 close(8) = 0 munmap(0x4000c000, 4096) = 0 open("/var/yp/binding/spmo.sagem.fr.2", O_RDONLY) = 8 readv(8, [{")\3", 2}, {"\1\0\0\0\177\0\0\1\3\35\0\0", 12}], 2) = 14 close(8) = 0 gettimeofday({922463953, 4198}, NULL) = 0 getpid() = 8687 socket(PF_INET, SOCK_DGRAM, IPPROTO_UDP) = 8 bind(8, {sin_family=AF_INET, sin_port=htons(625), sin_addr=inet_addr("0.0.0.0")}, 16) = 0 ioctl(8, FIONBIO, [1]) = 0 fcntl(8, F_SETFD, FD_CLOEXEC) = 0 sendto(8, "7\373\237X\0\0\0\0\0\0\0\2\0\1\206"..., 88, 0, {sin_family=AF_INET, sin_port=htons(797), sin_addr=inet_addr("127.0.0.1")}, 16) = 88 select(1024, [8], NULL, NULL, {5, 0}) = 1 (in [8], left {5, 0}) recvfrom(8, "7\373\237X\0\0\0\1\0\0\0\0\0\0\0"..., 8800, 0, {sin_family=AF_INET, sin_port=htons(797), sin_addr=inet_addr("127.0.0.1")}, [16]) = 64 close(8) = 0 ........................ and it loops back to the first 'open' ............. ============================================================================
The /etc/hosts.deny and /etc/hosts.allow are empty files (except the comments).
The /etc/exports file looks like : /u0 @urd(rw) /u1 @urd(rw)
I am running ypserv as a secondary NIS server on the NFS box. knfsd 1.2 (same thing with the previous versions of knfsd).
Distribution : RH 5.2 with the appropriate patches.
A+ -- Thierry Danis danis@spmo.sagem.fr
- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.rutgers.edu Please read the FAQ at http://www.tux.org/lkml/
| |