안녕하세요?
몇주째 DMA와 HIGH MEMORY 할당에 있어서 골머리를 썪히고 있습니다.
위 질문 올렸듯이..
제가 사용하는 프로그램(CCD 구동 프로그램)은 DMA 설정을 위해서 HIGH MEMORY를 할당 받아야 하는데,
[...]$ free -lm
total used free shared buffers cached
Mem: 2025 1365 659 0 13 1228
Low: 2025 1365 659
High: 0 0 0
-/+ buffers/cache: 123 1901
Swap: 2039 0 2039
위에서 보듯이 HIGH MEMORY가 제로입니다. -_-;;
그래서 프로그램을 돌리면,
"DMA Not active" 이라는 메시지가 뜨면서 작동하지 않습니다.
제가 궁금한 것은
1) HIGH MEMORY 할당과 DMA가 어떤 관련이 있는가?
2) free -lm 에서 보이는 High : 0이 과연 내 컴퓨터에서 HIGH MEMORY를 안 쓰겠다는 의미인가?
아니면 다른 의미가 있는가?
3) HIGH MEMORY를 강제로 할당하는 방법은 없을까?
예전에 레드햇에서는 'lilo.conf'에 "mem=OOOM" 을 넣었던 것 같은데,
grub.conf에 동일하게 넣어도 될까요??
4) 커널에서 HIGHMEM 옵션을 켜놓았는데 왜 free -lm에서 High가 제로로 나오는가?
이상입니다.
리눅스 버전은 Fedora Core 3(커널 2.6.9-1.667) 이고,
아래와 같이 커널에서 HIGHMEM 옵션은 모두 켜놓은 상태입니다.
[neopat@4Kccd apps]$ cat /boot/config-`uname -r` | grep "CONFIG_HIGHMEM"
CONFIG_HIGHMEM4G=y
# CONFIG_HIGHMEM64G is not set
CONFIG_HIGHMEM=y
참고로,
제 친구들의 PC를 조사한 결과입니다.
*** SuSE 10.3, 64bit, Dual Core CPU, DDR2 1GB(제작년 모델로 거의 최신 사
양입니다) ***
total used free shared buffers cached
Mem: 1028504 462812 565692 0 39556 247520
Low: 1028504 462812 565692
High: 0 0 0
-/+ buffers/cache: 175736 852768
Swap: 2104472 0 2104472
*** SuSE 10.3 64bit 하이퍼스레딩 3.0GHz CPU, DDR2 512MB ***
total used free shared buffers cached
Mem: 503604 378692 124912 0 11888 296480
Low: 503604 378692 124912
High: 0 0 0
-/+ buffers/cache: 70324 433280
Swap: 530104 0 530104
*** Ubuntu 6.03LTS 32bit Pentium 4 1.6GHz CPU, DDR 1GB ***
total used free shared buffers cached
Mem: 1035676 154044 881632 0 9100 71276
Low: 904668 31296 873372
High: 131008 122748 8260
-/+ buffers/cache: 73668 962008
Swap: 979924 0 979924
*** Ubuntu 7.10 Pentium(R) 4 CPU 2.40GHz DDR 512MB ***
total used free shared buffers cached
Mem: 516148 412184 103964 0 23160 198348
Low: 516148 412184 103964
High: 0 0 0
-/+ buffers/cache: 190676 325472
Swap: 4546312 34268 4512044
모든 PC는 커널 컴파일시 config 파일에 하이 메모리를 옵션을 킨 상태입니다.
눈팅만으로는 답변글을 볼 수 없습니다. 로그인하셔야 합니다.