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
|