수요일, 6월 25, 2008

FSRAMPERCENT

config.bib file에서 사용된다.
이 환경변수의 이름은 File System RAM PERCENT를 나타내려고 했던 것 같다.
RAM 전체크기중에서 file system (object store)에 할당되는 영역의 percentage를 설정하기 위해서 사용된다.
object store의 최소값은 32KB, 최대값은 256MB란다.

다음과 같이 4byte의 값으로 설정하는데

FSRAMPERCENT=0xXXXXXXXX

MSB쪽 byte를 byte3, LSB쪽 byte를 byte0이라고 했을 때
byte0 = 처음 2MB에서 MB당 4kbyte block의 갯수
byte1 = 두번째 2MB에서 MB당 4kbyte block의 갯수
byte2 = 세번째 2MB에서 MB당 4kbyte block의 갯수
byte3 = 나머지 memory에서 MB당 4kbyte block의 갯수
를 나타낸다.

default값이 0x80808080인데 이것은 매 MB당 512KB (4*1024*0x80)이므로 전체 RAM중 50%가 object store에 할당 되었다는 것이다.

FSRAMPERCENT에 의해 RAM상에서 object store으로 할당된 영역의 percent 계산하기
FSRAMPERCENT의 각 byte가 동일한 값을 가질 경우, 전체 RAM에서 매 1MB당 object store에 할당된 percent를 알수 있다.
예를들어 0x20202020이라면 1MB당 128KB를 할당하므로 128KB/1MB = 0.125. 전체 RAM중 12.5%가 object store에 할당 된 거다.
만일 FSRAMPERCENT의 각 byte값이 다르다면 계산이 복잡해 질수도 있겠다.

RAM상에서 object store으로 할당할 영역의 percent값으로 부터 FSRAMPERCENT 구하기
만일 12.5%를 object store에 할당하려면 FSRAMPERCENT의 각 byte를 다음과 같이 구한다.
100:12.5 = 1MB:(4KB*x)
100 * 4KB * x = 12.5 * 1MB
x = (12.5 * 1MB) / (100 * 4KB)
x = 32 = 0x20
즉 각 byte를 0x20으로 하여 FSRAMPERCENT를 0x20202020로 설정한다.