[Suzaku:00746] Re: アプリ上から使用するRAMについて

Tetsuya OHKAWA email@hidden
2007年 1月 22日 (月) 14:13:21 JST


大川です。

SUZAKU-Sにおいて、1MB以上を利用するには
下記のように、Configuration しなおす必要があります。

$ make menuconfig
Kernel/Library/Defaults Selection --->
[*] Customize Kernel Settings

Linux Kernel v2.4.32-uc0 Configuration
General setup --->
[*] Allow allocating large blocks (>1 MB) of memory
 ↑
ここ set してください。

#デフォルトでsetしておいても良いかもしれませんね。



HLDC 上村 wrote:
> いつもお世話になっております。HLDCの上村です。
> 早速ですが、Suzaku上のアプリから使用するRAMについて質問です。
>
> ただいま使用している、Suzaku(SZ-030)の環境で、
> freeを実行すると以下のような結果が返ってきます。
>
> # free
>         total:    used:    free:  shared: buffers:  cached:
> Mem:  14196736  4042752 10153984        0   651264   696320
> Swap:        0        0        0
>
> これを見ると、RAMの空き容量が10MB弱あるように見えるのですが、
> 実際に大きいRAMを確保しようとすると、エラーが発生してしまいます。
> 以下は、HelloWorldプログラムに1MBのグローバルRAMを追加して
> 実行した結果です。
> --Source Code---------------------------------------------
> #include <stdio.h>
> unsigned char RamArea[1048576];
> int main(void)
> {
>     printf("Hello,World!\n");
>     return(0);
> }
> ----------------------------------------------------------
> # bin/Hello
> Allocation of length 1084812 from process 42 failed
> Free pages:        9908kB (     0kB HighMem)
> Zone:DMA freepages:  9908kB
> Zone:Normal freepages:     0kB
> Zone:HighMem freepages:     0kB
> ( Active: 261, inactive: 70, free: 2477 )
> 1*4kB 0*8kB 1*16kB 1*32kB 0*64kB 1*128kB 0*256kB 1*512kB 1*1024kB 4*2048kB = 99)= 0kB)
> = 0kB)
> Unable to allocate RAM for process text/data, errno 12
> bin/Hello: memory exhausted
>
> このエラーを発生させずに、RAMを大きく確保するには、
> どのように記述したらいいのでしょうか?
>
> 以上です。よろしくお願いいたします。
>
>   



suzaku メーリングリストの案内