[MPICH2-dev] running out of fd's?
Rob Ross
rross at mcs.anl.gov
Wed Jan 30 15:01:20 CST 2008
i guess what i was getting at was that it seems to me that at 100
processes he wouldn't be hitting the limit?
there's a tool called "lsof" that can be used to look at open files
for a specific process; you could use this to see what's going on with
the mpd.
rob
On Jan 30, 2008, at 2:47 PM, Brian R. Toonen wrote:
> Nick,
>
> The maximum number of file descriptors per process on your machine
> is 10240
> and the maximum number for all processes is 12288. These numbers were
> obtained using the following command.
>
> % sysctl -a | grep maxfiles
> kern.exec: unknown type returned
> kern.maxfiles = 12288
> kern.maxfilesperproc = 10240
> kern.maxfiles: 12288
> kern.maxfilesperproc: 10240
>
> Assuming you are using (t)csh as your shell, you can increase your
> limit per
> process to the maximum by adding "limit descriptors 10240" to
> your .cshrc
> file. If you use (ba)sh, then adding "ulimit -n 10240" to
> your .profile
> should do the trick.
>
> --brian
>
> |-----Original Message-----
> |From: owner-mpich2-dev at mcs.anl.gov [mailto:owner-mpich2-dev at mcs.anl.gov
> ] On
> |Behalf Of Rob Ross
> |Sent: Wednesday, January 30, 2008 13:53
> |To: Darius Buntinas
> |Cc: Nicholas Karonis; mpich2-dev at mcs.anl.gov; Brian Toonen
> |Subject: Re: [MPICH2-dev] running out of fd's?
> |
> |default socket max is i think 1024? -- rob
> |
> |On Jan 30, 2008, at 1:26 PM, Darius Buntinas wrote:
> |
> |> I bet it's gforker. It creates O(N) sockets for stdio, etc. Try
> |> mpd and see if that helps.
> |>
> |> -d
> |>
> |> On 01/30/2008 01:06 PM, Nicholas Karonis wrote:
> |>> Hi,
> |>> I just installed MPICH2-1.0.6 on Mac OS X 10.5.1 (i.e., Leopard).
> |>> I configured it with the gforker and it was all compiled using
> |>> Gnu's C and C++ compilers that came with the developer tools
> |>> on the Mac OS X disk.
> |>> The build seem to go OK and so I tried testing it with a small
> |>> ring program (source at bottom). When I run the ring with -np 75
> |>> all is OK but when I increase it to 100 I get an error message:
> |>> /* running with 75, all OK */
> |>> mpro% mpiexec -np 75 ring
> |>> nprocs 75 received 75
> |>> /* attempting to run with 100, problem :-( */
> |>> mpro% mpiexec -np 100 ring
> |>> Error in system call select: Bad file descriptor
> |>> mpro%
> |>> Any suggestions?
> |>> Thanks in advance,
> |>> Nick
> |>> --- app source
> |>> mpro% cat ring.c
> |>> #include "mpi.h"
> |>> #include <stdio.h>
> |>> #include <stdlib.h>
> |>> int main(int argc, char *argv[])
> |>> {
> |>> int nprocs, myid;
> |>> int val;
> |>> MPI_Status st;
> |>> MPI_Init(&argc, &argv);
> |>> MPI_Comm_size(MPI_COMM_WORLD, &nprocs);
> |>> if (nprocs > 1)
> |>> {
> |>> MPI_Comm_rank(MPI_COMM_WORLD, &myid);
> |>> if (myid == 0)
> |>> {
> |>> val = 1;
> |>> MPI_Send(&val, 1, MPI_INT, 1, 0, MPI_COMM_WORLD);
> |>> MPI_Recv(&val, 1, MPI_INT, nprocs-1, 0, MPI_COMM_WORLD,
> &st);
> |>> printf("nprocs %d received %d\n", nprocs, val);
> |>> }
> |>> else
> |>> {
> |>> MPI_Recv(&val, 1, MPI_INT, myid-1, 0, MPI_COMM_WORLD, &st);
> |>> val ++;
> |>> MPI_Send(&val, 1, MPI_INT, (myid+1)%nprocs, 0,
> |>> MPI_COMM_WORLD);
> |>> } /* endif */
> |>> } /* endif */
> |>> MPI_Finalize();
> |>> exit(0);
> |>> } /* end main() */
> |>> mpro%
> |>
>
More information about the mpich2-dev
mailing list