Unix/Linux 시스템에 접속하는 사용자의 자원을 제한할 수 있다.
먼저, root 상태에서 전체 자원 현황을 본다.
# ulimit -a -t: cpu time (seconds) unlimited -f: file size (blocks) unlimited -d: data seg size (kbytes) unlimited -s: stack size (kbytes) 10240 -c: core file size (blocks) 0 -m: resident set size (kbytes) unlimited -u: processes unlimited -n: file descriptors 1024 -l: locked-in-memory size (kbytes) 32 -v: address space (kbytes) unlimited -x: file locks unlimited -i: pending signals 409600 -q: bytes in POSIX msg queues 819200 -e: max nice 0 -r: max rt priority 0
ulimit -n 8000 명령으로 열 수 있는 파일 갯수를 늘린다. 이 상태만으로는 접속한 다른 사용자가 해당 자원을 쓸 수 없다.
/etc/security/limits.conf 설정 파일에 해당 사용자에 대한 설정을 적는다.
#[유저이름] [hard/soft] [설정할 항목] [설정값] mklife hard nofile 8000 => mklife 유저는 한번 접속에 하드세팅으로 8000개 파일까지 열수 있다.
해당 사용자는 재 접속 후 ulimit -n 8000 명령으로 해당 자원을 늘릴 수 있다. (.bash_profile 등에 적어놓으면 좋음)