[unix] 커널 메모리 크기 늘리기

Linux 2.6.29 및 UBoot 부트 로더를 실행하는 512MB의 RAM이 내장 된 보드가 있습니다. 그러나 커널은 128MB의 RAM 만 사용할 수 있습니다.

XCODE_MEMSIZE커널의 RAM 용량을 결정하는 의 값을 변경하려고했습니다 .

512로 설정하면 부팅하는 동안 커널이 충돌합니다. 변경해야 할 다른 구성 매개 변수가 있습니까?



답변

임베디드 보드에 대한 구체적인 지식이 없으면 두 가지가 떠 오릅니다.

  1. 커널 mem=부팅 매개 변수를 사용해보십시오 . (때로는 비 연속 주소에서 메모리를 사용할 수 있다고 생각하므로 이와 같은 것을 사용해야 할 수도 있지만 주소는 mobo마다 확인해야합니다.

    mem = 512M @ 0 mem = 256M @ 0x80000000 mem = 256M = 0xc0000000

  2. 내장 그래픽 카드가 있습니까? 사용 가능한 램 덩어리가 나올 수 있습니다. 당신이 바이오스 또는 그와 동등한 것을 얻을 수 있다면, 그것을 확인하십시오.

@see 커널 paramters을 에 대한 자세한 내용은mem=


답변

RAM Disk커널에서 크기를 늘려야한다고 생각합니다 .


답변

보다 구체적인 내용에 대한 다른 게시물 외에도 마운트 된 /dev/shm경우 마운트 해제를 제안 합니다. 그것은 램 디스크 파일 시스템이고 당신의 램으로 먹습니다.

또한 sysctl리눅스 의 명령을 살펴보십시오 . sysctl -w kernel.shmmax="<some number>"커널이 실행되는 동안 같은 작업을 수행하면 커널이 변경됩니다.


답변