시스템 전체의 파일 크기 제한 설정

시스템 전체의 파일 크기 제한 설정

전체 시스템의 파일 제한을 10GB로 설정하려고 합니다. 달릴 때 ulimit -f나는 돌아온다unlimited.

을 실행하면 ulimit -a파일 크기가 단위로 표시됩니다 blocks. 이를 바이트로 어떻게 변환합니까?

답변1

Bash에서 기본값은 1024바이트이지만 POSIX 모드에서는 512바이트입니다(수동):

옵션이 주어지지 않으면 -f가정됩니다. 값은 1024바이트 단위로 증가합니다.[그 외]및 , POSIX 모드(Bash POSIX 모드 참조) -c-f, 512바이트 증분.

(POSIX는 물론,512바이트 블록 필요.)

$ bash -c 'ulimit -Sf 1000; 
    head -c1024000 < /dev/zero > /tmp/test && echo ok;
    echo x >> /tmp/test && echo ok'
ok
File size limit exceeded

답변2

또는 를 사용하여 /proc/partitions특정 파티션의 블록 수를 확인 하고 파티션 크기를 바이트 단위로 확인할 수 있습니다. 블록으로 나눈 바이트 수는 블록의 바이트 크기를 제공합니다.lsblkdf

예를 들어 내 데스크탑에서는 다음과 같습니다.

$ cat /proc/partitions
major minor  #blocks  name

   8        0  312571224 sda
   8        1  308392960 sda1
   8        2          1 sda2
   8        5    4175872 sda5
  11        0      19930 sr0
   8       16  244198584 sdb
km0@mkdisplay:~$ lsblk
NAME   MAJ:MIN RM   SIZE RO TYPE MOUNTPOINT
sda      8:0    0 298.1G  0 disk
├─sda1   8:1    0 294.1G  0 part /
├─sda2   8:2    0     1K  0 part
└─sda5   8:5    0     4G  0 part [SWAP]
sdb      8:16   0 232.9G  0 disk
sr0     11:0    1  19.5M  0 rom
$ python
Python 2.7.13 |Anaconda, Inc.| (default, Sep 22 2017, 00:47:24)
[GCC 7.2.0] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>> 298.1*1024*1024*1024/312571224.
1024.03040701661

관련 정보