I think you can do something like this: $ cat /etc/security/limits.d/90-nproc.conf # Default limit for number of user's processes to prevent # accidental fork bombs. # See rhbz #432903 for reasoning. * soft nproc 1024 root soft nproc unlimited You can put a reasonably large # there but perhaps not “unlimited” for non-root. By default, each thread use 2-10MB stack space (see “ulimit -s”) so if you have 1024 threads, that is 2-10GB of RAM. regards, Wei Yang | [log in to unmask]<mailto:[log in to unmask]> | 650-926-3338(O) On Nov 5, 2015, at 10:38 PM, Andrew Melo <[log in to unmask]<mailto:[log in to unmask]>> wrote: Whoops, I wiffed on the inheritance of ulimits. I thought processes inherited ulimits from their parents, and /etc/security/limits.conf was just defaults for new sessions. I thought setting ulimit as root then changing users would've propagated the limit. Changing limits.conf is the other option instead of having to build a whole new machine. In either case, it doesn't change the behavior of the server. I just did the following (dashes separate different terminals) [root@se1 xrootd]# ( ulimit -u 2048 ; /etc/init.d/xrootd restart test ) Shutting down xrootd (xrootd, test): [ OK ] Starting xrootd (xrootd, test): [ OK ] --- [meloam@vmps11] $ xrdcp -f -v -d 1 root://se1.accre.vanderbilt.edu:1095//home/meloam/xrootd-test/hosts . Set debug level 1 151105 23:58:27 001 Xrd: main: (C) 2004-2011 by the XRootD collaboration. Version: v3.1.0 151105 23:58:27 001 Xrd: Create: (C) 2004-2010 by the Xrootd group. XrdClient $Revision$ - Xrootd version: v3.1.0 151105 23:58:27 001 Xrd: ShowUrls: The converted URLs count is 1 151105 23:58:27 001 Xrd: ShowUrls: URL n.1: root://se1.accre.vanderbilt.edu:1095//home/meloam/xrootd-test/hosts. 151105 23:58:27 001 Xrd: ShowUrls: The converted URLs count is 1 151105 23:58:27 001 Xrd: ShowUrls: URL n.1: root://se1.accre.vanderbilt.edu:1095//home/meloam/xrootd-test/hosts. 151105 23:58:27 001 Xrd: Open: Access to server granted. 151105 23:58:27 001 Xrd: Open: Opening the remote file /home/meloam/xrootd-test/hosts 151105 23:58:27 001 Xrd: Open: File open in progress. 151105 23:58:27 001 Xrd: main: root://se1.accre.vanderbilt.edu:1095//home/meloam/xrootd-test/hosts --> .//hosts [xrootd] Total 0.00 MB |====================| 100.00 % [inf MB/s] [xrdcp] ################################################################# [xrdcp] # Source Name : root://se1.accre.vanderbilt.edu:1095//home/meloam/xrootd-test/hosts [xrdcp] # Destination Name : ./hosts [xrdcp] # Data Copied [bytes] : 192 [xrdcp] # Realtime [s] : 0.001000 [xrdcp] # Eff.Copy. Rate[MB/s] : 0.192000 [xrdcp] ################################################################# Low level caching info: StallsRate=0.5 StallsCount=1 ReadsCounter=2 BytesUsefulness=1 BytesSubmitted=192 BytesHit=192 XrdClient counters: ReadBytes: 192 WrittenBytes: 0 WriteRequests: 0 ReadRequests: 1 ReadMisses: 0 ReadHits: 1 ReadMissRate: 0.000000 ReadVRequests: 0 ReadVSubRequests: 0 ReadVSubChunks: 0 ReadVBytes: 0 ReadVAsyncRequests: 0 ReadVAsyncSubRequests: 0 ReadVAsyncSubChunks: 0 ReadVAsyncBytes: 0 ReadAsyncRequests: 1 ReadAsyncBytes: 192 ---- [root@se1 xrootd]# ( ulimit -u ; /etc/init.d/xrootd restart test ) unlimited Shutting down xrootd (xrootd, test): [ OK ] Starting xrootd (xrootd, test): [ OK ] ---- [meloam@vmps11] $ xrdcp -f -v -d 1 root://se1.accre.vanderbilt.edu:1095//home/meloam/xrootd-test/hosts . Set debug level 1 151105 23:58:41 001 Xrd: main: (C) 2004-2011 by the XRootD collaboration. Version: v3.1.0 151105 23:58:41 001 Xrd: Create: (C) 2004-2010 by the Xrootd group. XrdClient $Revision$ - Xrootd version: v3.1.0 151105 23:58:41 001 Xrd: ShowUrls: The converted URLs count is 1 151105 23:58:41 001 Xrd: ShowUrls: URL n.1: root://se1.accre.vanderbilt.edu:1095//home/meloam/xrootd-test/hosts. 151105 23:58:41 001 Xrd: ShowUrls: The converted URLs count is 1 151105 23:58:41 001 Xrd: ShowUrls: URL n.1: root://se1.accre.vanderbilt.edu:1095//home/meloam/xrootd-test/hosts. 151105 23:59:11 48917 Xrd: DumpPhyConn: Phyconn entry, [log in to unmask]<mailto:[log in to unmask]>:1095', LogCnt=1 Valid 151105 23:59:41 48917 Xrd: DumpPhyConn: Phyconn entry, [log in to unmask]<mailto:[log in to unmask]>:1095', LogCnt=1 Valid 151106 00:00:11 48917 Xrd: DumpPhyConn: Phyconn entry, [log in to unmask]<mailto:[log in to unmask]>:1095', LogCnt=1 Valid 151106 00:00:41 48917 Xrd: DumpPhyConn: Phyconn entry, [log in to unmask]<mailto:[log in to unmask]>:1095', LogCnt=1 Valid 151106 00:01:11 48917 Xrd: DumpPhyConn: Phyconn entry, [log in to unmask]<mailto:[log in to unmask]>:1095', LogCnt=1 Valid 151106 00:01:41 48917 Xrd: DumpPhyConn: Phyconn entry, [log in to unmask]<mailto:[log in to unmask]>:1095', LogCnt=1 Valid 151106 00:02:11 48917 Xrd: DumpPhyConn: Phyconn entry, [log in to unmask]<mailto:[log in to unmask]>:1095', LogCnt=1 Valid 151106 00:02:41 48917 Xrd: DumpPhyConn: Phyconn entry, [log in to unmask]<mailto:[log in to unmask]>:1095', LogCnt=1 Valid 151106 00:03:11 48917 Xrd: DumpPhyConn: Phyconn entry, [log in to unmask]<mailto:[log in to unmask]>:1095', LogCnt=1 Valid 151106 00:03:41 48917 Xrd: DumpPhyConn: Phyconn entry, [log in to unmask]<mailto:[log in to unmask]>:1095', LogCnt=1 Valid 151106 00:03:41 001 Xrd: DoHandShake: Failed to read 4 bytes. Retrying ... 151106 00:03:41 001 Xrd: GetAccessToSrv: HandShake failed with server [se1.accre.vanderbilt.edu<http://se1.accre.vanderbilt.edu>:1095] 151106 00:03:41 001 Xrd: DumpPhyConn: Phyconn entry, [log in to unmask]<mailto:[log in to unmask]>:1095', LogCnt=1 NotValid 151106 00:03:41 001 Xrd: DumpPhyConn: Phyconn entry, key='Trashed connection', LogCnt=1 NotValid 151106 00:03:41 001 Xrd: Open: Access to server failed: error: 10000 () - retrying. 151106 00:03:41 001 Xrd: Open: Connection attempt failed. Sleeping 5 seconds. 151106 00:03:46 001 Xrd: ShowUrls: The converted URLs count is 1 151106 00:03:46 001 Xrd: ShowUrls: URL n.1: root://se1.accre.vanderbilt.edu:1095//home/meloam/xrootd-test/hosts. 151106 00:04:11 48917 Xrd: DumpPhyConn: Phyconn entry, [log in to unmask]<mailto:[log in to unmask]>:1095', LogCnt=1 Valid 151106 00:04:11 48917 Xrd: DumpPhyConn: Phyconn entry, key='Trashed connection', LogCnt=0 NotValid ^C Restarting the test server with xrd.trace all yields the following log: 151106 00:36:02 29869 Starting on Linux 2.6.32-431.el6.x86_64 Copr. 2004-2012 Stanford University, xrd version v4.2.3 ++++++ xrootd [log in to unmask]<mailto:[log in to unmask]> initialization started. Config using configuration file /etc/xrootd/xrootd-test.cfg =====> xrd.port 1095 =====> xrd.trace all Config maximum number of connections restricted to 64000 Config maximum number of threads restricted to -1 151106 00:36:02 29869 XrdConfig: sendfile enabled. 151106 00:36:02 29869 XrdSched: scheduling underused thread monitor in 780 seconds 151106 00:36:02 29869 XrdScheduler: Thread limit has been reached! 151106 00:36:02 29869 XrdSched: Starting with 0 workers 151106 00:36:02 29869 XrdLink: Allocating 8 link objects at a time 151106 00:36:02 29869 XrdPoll: Starting poller 0 151106 00:36:02 29869 XrdPoll: Starting poller 1 151106 00:36:02 29869 XrdPoll: Starting poller 2 151106 00:36:02 29869 XrdProtocol: getting port from protocol xrootd 151106 00:36:02 29869 XrdConfig: LCL port 1095 wsz=87380 (87380) 151106 00:36:02 29869 XrdProtocol: getting protocol object xrootd Copr. 2012 Stanford University, xrootd protocol 3.0.0 version v4.2.3 ++++++ xrootd protocol initialization started. =====> all.export /home/meloam/xrootd-test/ Config exporting /home/meloam/xrootd-test/ Config warning: 'xrootd.seclib' not specified; strong authentication disabled! Config Routing for se1.accre.vanderbilt.edu<http://se1.accre.vanderbilt.edu>: local pub4 prv4 Config Route all4: se1.accre.vanderbilt.edu<http://se1.accre.vanderbilt.edu> Dest=[::129.59.197.244]:1095 ++++++ File system initialization started. =====> ofs.authorize ++++++ Storage system initialization started. =====> all.export /home/meloam/xrootd-test/ Config effective /etc/xrootd/xrootd-test.cfg oss configuration: oss.alloc 0 0 0 oss.cachescan 600 oss.fdlimit 32000 64000 oss.maxsize 0 oss.trace 0 oss.xfr 1 deny 10800 keep 1200 oss.memfile off max 33751465984 oss.defaults r/w nocheck nodread nomig norcreate nopurge nostage xattr oss.path /home/meloam/xrootd-test/ r/w nocheck nodread nomig norcreate nopurge nostage xattr ------ Storage system initialization completed. ++++++ Authorization system initialization started. 151106 00:36:02 29869 acc_Config: Authorization system using configuration in /etc/xrootd/xrootd-test.cfg =====> acc.authdb /etc/xrootd/Authfile-test =====> acc.audit deny grant Config 2 authorization directives processed in /etc/xrootd/xrootd-test.cfg Config 1 auth entries processed in /etc/xrootd/Authfile-test ------ Authorization system initialization completed. Config effective /etc/xrootd/xrootd-test.cfg ofs configuration: all.role server ofs.authorize ofs.maxdelay 60 ofs.persist manual hold 600 logdir /tmp/test/.ofs/posc.log ofs.trace 0 ------ File system server initialization completed. 151106 00:36:02 29869 XrdSched: scheduling xrootd protocol anchor in 3600 seconds Config warning: 'xrootd.prepare logdir' not specified; prepare tracking disabled. ------ xrootd protocol initialization completed. ------ xrootd [log in to unmask]<mailto:[log in to unmask]>:1095 initialization completed. — Reply to this email directly or view it on GitHub<https://github.com/xrootd/xrootd/issues/288#issuecomment-154326450>. ________________________________ Use REPLY-ALL to reply to list To unsubscribe from the XROOTD-DEV list, click the following link: https://listserv.slac.stanford.edu/cgi-bin/wa?SUBED1=XROOTD-DEV&A=1 ######################################################################## Use REPLY-ALL to reply to list To unsubscribe from the XROOTD-DEV list, click the following link: https://listserv.slac.stanford.edu/cgi-bin/wa?SUBED1=XROOTD-DEV&A=1