BBUWOO'S [ LIKE UNIX ] WORLD Home > Lecture > Kernel > Kernel-5  

HOME
WHAT's BBUWOO?
LInux AnNyung
Open Source
    GitHUB
    GitHUB (for PHP)
LECTURE
MINI LECTURE
QnA BOARD
ENGLISH POEM


WARNNING

강좌의 모든 권리는 본인 김정균에게 있으며 이 강좌를 상업적 목적 으로 이용
하거나 다른 곳으로 옮길시에는 본인의 허락이 있어야 한다. 이글의 가장 최신글은
http://oops.org 에서 확인할수 있다.



5. Sysctl for File System in Kernel

/proc/sys/fs/* 을 위한 문서 kernel version 2.2.10 (c) 1998, 1999, Rik van Riel <riel@nl.linux.org> 번역 2001.3.28 김정균 <http://oops.org> * 역주) 이 페이지를 읽기 전에 아주 강력하게 주의를 요할 것은 sysctl을 이용하여 이 값들을 변경할 경우나 직접적으로 변경을 할 경우 시스템이 crash 되어질 위험요소가 많이 있 다는 것을 명심해 야 한다. 즉, 자기의 시스템에 무리한 값을 넣었을 경우 그 즉시 시 스템이 멈출수도 있기 때문에 충분한 테스트와 시스템이 crash가 될 수 있음을 명심하 고 책임을 질수 있을 경우에만 만지기를 권장한다. 일반적인 정보와 법적인 짧은 문구는 README 를 보기 바란다. ================================================================================ 이 파일은 /proc/sys/fs 에서 sysctl file 들을 위한 문서들을 포함하고 있으며 Linux Kernel 2.2 이상에서 유효하다. /proc/sys/fs 디렉토리에 있는 파일들은 리눅스 커널의 작동에 대한 잡다한 정보들과 일반적인 정보들을 설정하고 모니터링 하는데 사용이 되어질수 있다. 이값들을 적용할 때 조심하지 않으면 시스템을 엉망으로 만들 수 있으므로 실제 값을 적용하기 전에 문 서와 커널 소스를 반드시 읽어 보는 것이 현명할 것이다. 현재 /proc/sys/fs 에서는 다음의 파일들을 볼수 있다: - dentry-state - dquot-max - dquot-nr - file-max - file-nr - inode-max - inode-nr - inode-state - overflowuid - overflowgid - super-max - super-nr /proc/sys/fs/binfmt_misc의 파일들에 대한 문서는 Documentation/binfmt_misc.txt 이 다. ================================================================================ dentry-state: From linux/fs/dentry.c: -------------------------------------------------------------------------------- struct { int nr_dentry; int nr_unused; int age_limit; /* age in seconds */ int want_pages; /* pages requested by system */ int dummy[2]; } dentry_stat = {0, 0, 45, 0,}; -------------------------------------------------------------------------------- Dentries 는 동적으로 할당 되어 지고, 재할당 되어 지며, nr_dentry 는 언제나 0으로 되어지는듯 하다. 앞으로는 오직 nr_unused, age_limit, want_pages 가 사용되어 지게 될것 같다. Nr_unused 는 그 이름이 무엇을 말하는지 정확한 것 같다. Age_limit 는 dcache entriy 들이 shrink_dchcae_pages() 가 호출되고 dcache 가 아직 삭제되지 않았을 경우 memory 가 작고 want_pages 가 0 이 아닐때 재요구되어 지는 이 후의 시간의 한계이다. ================================================================================ dquot-max & dquot-nr: dquot-max 는 cache disk 의 quota 목록들의 최대값을 보여준다. dquot-nr 은 할당되어진 disk quota 목록들과 사용하지 않는 disk quota목록들의 값을 보여준다. 사용되지 않는 cached disk quota의 수는 대단히 적고, 동시에 로그인 해 있는 유저들 의 수가 엄청나게 많을 경우 이 값의 제한을 올려 줄수 있다. ================================================================================ file-max & file-nr: 커널은 동적으로 file handle 들을 할당한다. 하지만 아직은 그들을 다시 자유롭게 하 지는 못한다. file-max의 값은 Linux커널이 할당할수 있는 file-handle 의 최대값을 나타낸다. file handle 에 대한 수많은 메세지를 만나게 될 경우, 이 값의 제한을 올려줄수 있다. file-max 는 정확치는 않지만 2.4.20 부터는, 커널에서 자동으로 메모리양을 측정하여 알맞은 값으로 올리도록 변경이 되었다. 그러므로 굳이 따로 설정을 할 필요가 없어졌 다. file_nr 의 세 값은 file handle의 할당수와 file handle 의 사용되는 값 그리고 file handle 의 최대값을 나타낸다. 할당된 file handle 들이 최대값에 다가가지만 실제 사 용되어 지는 값들이 얼마 되지 않는다면, file handle 의 사용량이 최정점에 이르더라 도 최대값을 증가할 필요는 없다. ================================================================================ inode-max, inode-nr & inode-state: file handle 에 따라 커널은 동적인 inode structure를 할당한다. 하지만 아직 이것을 자유롭게 하지는 못한다. inode-max 의 값은 inode handler의 최대값을 나타낸다. 이 값은 stdin, stout 그리고 network 소켓들을 위한 inode struct들도 필요로 하게 되므로 file-max 보다 보통 3-4 배 정도가 커야 한다. 일반적으로 inode가 할당이 된다면 이 값을 증가시킬 필요는 없 다. inode-nr 은 inode-state 로 부터 처음 2개의 item 을 포함한다. 그래서 이 파일에 대 한 설명은 생략한다. inode-state 는 3개의 실제값과 4개의 사용하지 않는 값을 포함한다. 실제로 사용되는 3개의 값은 nr_inodes, nr_free_inodes 그리고 preshrink 를 나타낸다. nr_inodes 는 inode의 수를 나타낸며, 시스템은 nr_inodes > inode-max 이고 시스템이 더 할당되어진 것들 대신 inode list를 줄일 필요가 있을때 preshrink 의 값을 0이 아 닌 값을 가지게 된다. ================================================================================ overflowgid & overflowuid: UID 와 GID 가 32 bit 인 Linux 라도 어떤 filesystem 들은 오직 16bit UID 와 GID 만 지원한다. 이런 filesystem 들 중 하나가 쓰기가 가능한 상태로 마운트가 되어 있을경 우, 65535 를 넘어서는 UID 또는 GID 는 disk 에 쓰여지기 전에 고정된 값으로 변환이 된다. sysctl 은 고정되어 있는 UID 와 GID 를 변경하는 것을 가능하게 한다. 기본값은 65534 이다. ================================================================================ super-max & super-nr: 이 값들은 super block 들의 최대값을 조절하고, 따라서 kernel에 마운트 되어진 파일 시스템들의 최대값을 조절하는 의미도 된다. super-max 에 지정되어 있는 현재값 보다 더 많은 filesystem 을 마운트 할 필요가 있다면 super-max 를 증가 시켜야 한다.



>> 이전 : Sysctl For Virtual Memory in Kernel
>> 다음 : Sysctl For Kernel parameter in Kernel



    



 Home > Lecture > Kernel > Kernel-5

Copyright 1997-2024 JoungKyun Kim 
LAST MODIFIED: 2017/01/18