¥È¥Ã¥× º¹Ê¬ °ìÍ÷ ¥½¡¼¥¹ ¸¡º÷ ¥Ø¥ë¥× RSS ¥í¥°¥¤¥ó

BugTrack-£ÒÈ÷˺Ͽ/17

£ÒÈ÷˺Ͽ /¾õÂÖ¶õ´Ö¥â¥Ç¥ê¥ó¥°/donlp2/¤½¤Î¾¤Î¥á¥â

£ÒÈ÷˺Ͽ - µ­»ö°ìÍ÷

£¶£´¥Ó¥Ã¥ÈLinuxµ¡¤Ç£²G¥Ð¥¤¥È°Ê¾å¤Î¥á¥â¥ê¤ò»È¤¦ ¤½¤Î­¢

  • Åê¹Æ¼Ô¡§ ¤Ò¤Ê
  • ¥«¥Æ¥´¥ê¡§ ¤Ê¤·
  • Í¥ÀèÅÙ¡§ ÉáÄÌ
  • ¾õÂÖ¡§ ´°Î»
  • Æü»þ¡§ 2008ǯ12·î08Æü 19»þ48ʬ47ÉÃ

ÆâÍÆ

  • Windows£²£°£°£°¾å¤Ç
  • º£²ó¤Ï¤ª¼ê·Ú¤ËÆ°ºî³Îǧ¤¬¤Ç¤­¤ëÊýË¡¤È¤·¤ÆVMware Player¤ò»È¤¦¤³¤È¤Ë
  • ¥Û¥¹¥ÈOS¤ÏWindows£²£°£°£°¤Ç¥á¥â¥ê¤Ï£´G¥Ð¥¤¥È
  • CPU¤ÏAthlon£¶£´
  • OS¤ÏGentoo Linux AMD64¤ò»È¤¦¤³¤È¤Ë

OS¤ò½àÈ÷

  • CD¥¤¥á¡¼¥¸¤Ïinstall-amd64-minimal-2008.0-r1.iso¤ò»ÈÍÑ
  • ¥²¥¹¥È£Ï£Ó¤Î¥á¥â¥ê¤Ï£³£Ç¥Ð¥¤¥È¡¥£´£Ç¤Ç»ØÄꤷ¤¿¤é̵Íý¡ª¤Ã¤ÆÅܤé¤ì¤¿¡¥

¤Þ¤º¤ÏC¸À¸ì¤Ç

  • ¤È¤ê¤¢¤¨¤º¤¤¤í¤¤¤íÀßÄê¤ä¤é¥Ç¡¼¥â¥óÅù¤Î¥¤¥ó¥¹¥È¡¼¥ë¤Î¹ç´Ö¤ò»È¤Ã¤ÆC¸À¸ì¤Ç£²G°Ê¾å»È¤¨¤ë¤Î¤«¤ò³Îǧ¡¥R¤ò¥¤¥ó¥¹¥È¡¼¥ë¤Ç¤­¤ë¾õÂ֤ˤʤë¤Î¤Ï¤â¤¦¤Á¤ç¤Ã¤ÈÀè¤Ê¤â¤Î¤Ç¡¦¡¦¡¦
    • £Ç£å£î£ô£ï£ï¤Ï¥¤¥ó¥¹¥È¡¼¥ë¤«¤é¼êºî¤ê´¶ËþºÜ¡¥
    • £Ã£å£î£ô£Ï£ÓÅù£Ò£å£ä £È£á£ô·Ï¤ß¤¿¤¤¤Ë¡ÖÉÔɬÍפʥХ¤¥Ê¥ê¤â´Þ¤á¤ÆÆþ¤ì¤Á¤ã¤¦¡×¤Ê´¶¤¸¤Ç¤Ï¤Ê¤¤¡¥
    • ¥«¡¼¥Í¥ë¤Î¥³¥ó¥Ñ¥¤¥ë¤«¤é¤ä¤Ã¤Æ¡¢¤È¤ê¤¢¤¨¤ºµ¯Æ°¤¹¤ë¤è¤¦¤Ë¤Ê¤Ã¤Æ¤â¡¢¤¤¤í¤ó¤Ê¥Ç¡¼¥â¥ó¤È¤«¡¢¥¨¥Ç¥£¥¿¡¼¤È¤«£Ø£±£±¤È¤«¼«Ê¬¤Ç»ØÄꤷ¤ÆÆþ¤ì¤Æ¤¢¤²¤Ê¤¤¤È¤¤¤±¤Ê¤¤¤Î¤Ç¤¹¡¥
    • ¤À¤«¤é¡¢¤½¤ó¤Ê¥¤¥ó¥¹¥È¡¼¥ë¤Î΢¦¤Ç£Ã¸À¸ì¤Ç¥Æ¥¹¥È

C¤Î¥½¡¼¥¹

  • ñ½ãÌÀ²÷¡¢¤È¤¤¤¦¤«¤³¤ì¤Ç³Îǧ¤·¤Æ¤¤¤ë¤³¤È¤Ë¤Ê¤ë¤ó¤Ç¤¹¤«¡©
#include <stdio.h>
#include <stdlib.h>

int main(void)
{
        char c;
        char *po;

        printf("Hello, World!\n");

        po = (char *)malloc(sizeof(char) * 1024*1024*1024*2.7);
        if (po == NULL) exit(1);

        printf("input char > ");
        scanf("%c", &c);
        return 0;
}
  • ¥­¥ã¥é¥¯¥¿·¿¤ÎÊÑ¿ô¤òưŪ¤Ë³ÎÊݤ·¤Æ¤¤¤Þ¤¹¡¥¥­¥ã¥é¥¯¥¿·¿¤Ï¿ʬ£±¸Ä¡©¤Ç£±¥Ð¥¤¥È¤Ê¤Î¤Ç¡¢¡Ö1024*1024*1024¡×¤Ç£±G¥Ð¥¤¥È¡¥¤Ê¤Î¤Ç¤³¤ÎÎã¤Ç¤Ï£²¡¥£·G¥Ð¥¤¥È¥á¥â¥ê¤ò³ÎÊݤ¹¤ë¤³¤È¤Ë¤Ê¤ë¤Î¤«¤Ê¡©
  • ÅÓÃæ¤Ç¥­¡¼ÆþÎϤòÂԤäƤ¤¤ë¤Î¤Ï¡¢ÂԤäƤ¤¤ë´Ö¤Ë¡Öps¡×¥³¥Þ¥ó¥ÉÅù¤Ç¥á¥â¥ê»ÈÍѾõ¶·¤ò³Îǧ¤¹¤ë¤¿¤á¤Ç¤¹¡¥

¥³¥ó¥Ñ¥¤¥ë

gcc test.c
  • ¡Öa.out¡×¤È¤¤¤¦¼Â¹Ô¥Õ¥¡¥¤¥ë¤¬¤Ç¤­¤ë

¼Â¹Ô

# ./a.out
Hello, World!
input char >
  • ps¥³¥Þ¥ó¥É¤Ç¥á¥â¥ê»ÈÍѾõ¶·¤ò³Îǧ
# ps aux | grep a.out
USER       PID %CPU %MEM    VSZ   RSS TTY      STAT START   TIME COMMAND
root      3850  0.0  0.0 2834720  444 pts/5    S+   04:34   0:00 ./a.out
  • ¤È¤¤¤¦¤³¤È¤Ç¡Övsz¡×¤ÇÌ󣲡¥£¸G»È¤Ã¤Æ¤Þ¤¹¡¥¤¿¤À¤·¡¢ÊªÍý¥á¥â¥ê¾å¤Ç¤Ï£´£´£´£ë¥Ð¥¤¥È¤·¤«»È¤Ã¤Æ¤Ê¤¤¤³¤È¤Ë¡¥
    • ¤Á¤Ê¤ß¤ËƱ¤¸¥½¡¼¥¹¥³¡¼¥É¤ò£³£²¥Ó¥Ã¥ÈÈÇGentooLinux¾å¤Ç¼Â¹Ô¤¹¤ë¤È¥á¥â¥ê³ÎÊݤǤ­¤Ê¤¯¤Æ¡Öif (po == NULL) exit(1);¡×¤Ç½ªÎ»¤·¤Þ¤¹¡¥
  • ¤½¤¦¤«¤³¤ÎÊÑ¿ô¤ò¤Ê¤Ë¤«Ê¸»ú¤ÇËä¤á¤Æ¤¤¤Ã¤Æ¤ß¤è¤¦¡¥

C¤Î¥½¡¼¥¹ ­¢

#include <stdio.h>
#include <stdlib.h>

int main(void)
{
        char c;
        char *po;
        int i;

        printf("Hello, World!\n");

        po = (char *)malloc(sizeof(char) * 1024*1024*1024*2.7);
        if (po == NULL) exit(1);

        for( i=0; i<1024*1024*1024; i++ ){
            po[i] = 'c';
        }
        printf("input char > ");
        scanf("%c", &c);
        return 0;
}
  • ºÇ½é¤Î£±G¤ò¡Öc¡×¤ÇËä¤á¤Æ¤ß¤¿

¥³¥ó¥Ñ¥¤¥ë

gcc test2.c -o test2

¼Â¹Ô¤È·ë²Ì

# ./test2
Hello, World!
input char >
  • ¡Öps¡×
ps aux | grep test2
USER       PID %CPU %MEM    VSZ   RSS TTY      STAT START   TIME COMMAND
root      3933 65.2 33.9 2834720 1049020 pts/5 S+   04:46   0:08 ./test2
  • ¤ÈʪÍý¥á¥â¥ê¤¬£±G¥Ð¥¤¥È¤Ë¡¥¤Û¤Û¤¦
  • ¤Ç¤Ï
        for( i=0; i<1024*1024*1024; i++ ){
            po[i] = 'c';
        }
  • ¤ò
        for( i=0; i<1024*1024*1024*2.7; i++ ){
            po[i] = 'c';
        }
  • ¤ËÂؤ¨¤¿¾ì¹ç

R¤Ç

¥À¥¦¥ó¥í¡¼¥É

$ links http://cran.r-project.org/mirrors.html
  • ¡Ölinks¡×¤â¤Ï¤¸¤á¤ÏÆþ¤Ã¤Æ¤Ê¤¤¤Î¤Ç¡¢¡Öemerge -v links¡×¤Ç¥¤¥ó¥¹¥È¡¼¥ë¤¹¤ë

¥¤¥ó¥¹¥È¡¼¥ë

  • ²òÅà¤Ècd
tar xvf R-2.8.0.tar.gz
cd R-2.8.0
  • ¥³¥ó¥Õ¥£¥°¡¥¥ª¥×¥·¥ç¥ó¤Ê¤·
./configure
  • ¥³¥ó¥Õ¥£¥°À®¸ù
R is now configured for x86_64-unknown-linux-gnu

  Source directory:          .
  Installation directory:    /usr/local

  C compiler:                gcc -std=gnu99  -g -O2
  Fortran 77 compiler:       gfortran  -g -O2

  C++ compiler:              g++  -g -O2
  Fortran 90/95 compiler:    gfortran -g -O2
  Obj-C compiler:

  Interfaces supported:      X11
  External libraries:        readline
  Additional capabilities:   iconv, MBCS, NLS
  Options enabled:           shared BLAS, R profiling

  Recommended packages:      yes

configure: WARNING: you cannot build DVI versions of the R manuals
configure: WARNING: you cannot build PDF versions of the R manuals
configure: WARNING: I could not determine a browser
configure: WARNING: I could not determine a PDF viewer
  • ¤Ç¤âPDF¤â¥Ö¥é¥¦¥¶¤â¥¤¥ó¥¹¥È¡¼¥ë¤·¤Æ¤Ê¤¤¤«¤é¤³¤ÎÄ´»Ò¡¥¤Ï¤¡¤¡
  • ¥³¥ó¥Ñ¥¤¥ë
make
LANG=C LC_ALL=C make check
  • ¥¤¥ó¥¹¥È¡¼¥ë
    • su¤Çroot¸¢¸Â¤Ë¤Ê¤Ã¤Æ
make install

¥á¥â¥ê¾ÃÈñ¤Î¥Æ¥¹¥È

  • ¥Þ¥·¥ó¤Î¾ðÊó
$ uname -a
Linux mac_name 2.6.26-gentoo-r4 #1 SMP Mon Dec 8 19:55:40 JST 2008 $
x86_64 AMD Athlon(tm) 64 Processor 3200+ AuthenticAMD GNU/Linux
  • ¥Æ¥¹¥È
> gc()
         used (Mb) gc trigger (Mb) max used (Mb)
Ncells 105470  5.7     350000 18.7   350000 18.7
Vcells 119344  1.0     786432  6.0   455167  3.5
> a <- matrix(0, 1024*1024)
> gc()
          used (Mb) gc trigger (Mb) max used (Mb)
Ncells  105476  5.7     350000 18.7   350000 18.7
Vcells 1167921  9.0    1625057 12.4  1167940  9.0
> a <- matrix(0, 1024*1024*100)
> gc()
            used  (Mb) gc trigger  (Mb)  max used  (Mb)
Ncells    105476   5.7     350000  18.7    350000  18.7
Vcells 104976945 801.0  117230563 894.4 106025542 809.0
> a <- matrix(0, 1024*1024*200)
> gc()
            used   (Mb) gc trigger   (Mb)  max used   (Mb)
Ncells    105476    5.7     350000   18.7    350000   18.7
Vcells 209834545 1601.0  330671920 2522.9 314692166 2401.0
> rm(list="a")
> gc()
         used (Mb) gc trigger   (Mb)  max used   (Mb)
Ncells 105611  5.7     350000   18.7    350000   18.7
Vcells 119369  1.0  264537536 2018.3 314692166 2401.0
> a <- matrix(0, 1024*1024*300)
> gc()
            used   (Mb) gc trigger   (Mb)  max used   (Mb)
Ncells    105615    5.7     350000   18.7    350000   18.7
Vcells 314692170 2401.0  347285542 2649.6 314692190 2401.0
> rm(list="a")
> gc()
         used (Mb) gc trigger   (Mb)  max used   (Mb)
Ncells 105611  5.7     350000   18.7    350000   18.7
Vcells 119369  1.0  277828433 2119.7 314692322 2401.0
> a <- matrix(0, 1024*1024*400)
> gc()
            used   (Mb) gc trigger   (Mb)  max used   (Mb)
Ncells    105615    5.7     350000   18.7    350000   18.7
Vcells 419549770 3201.0  462891046 3531.6 419549790 3201.0
  • ¥²¥¹¥ÈOS¤Î¥á¥â¥ê¤Ï£³G¥Ð¥¤¥È¤Ê¤Î¤Ë¡ª¤ª¤«¤·¤¤¡ªÆ桪Æ桪
  • ¡Öps¡×¤Î·ë²Ì
USER       PID %CPU %MEM    VSZ   RSS TTY      STAT START   TIME COMMAND
admin    17254  7.9 97.0 3336556 2391852 pts/2 S+   08:59   1:26 /usr/local/lib64/R/bin/exec/R
  • ¤Õ¤à¡¢ÊªÍý¥á¥â¥ê¤Ï£²¡¥£´G¤·¤«»È¤Ã¤Æ¤¤¤Ê¤¤¤³¤È¤Ë¡©¡©¡©
  • ¤À¤±¤É¤È¤ê¤¢¤¨¤º£²G¥Ð¥¤¥È°Ê¾å¤Î¥á¥â¥ê¤ò¾ÃÈñ¤¹¤ë¤³¤È¤ËÀ®¸ù¡ª¡ª¡©
    • ¤¢¤¢¡¢¥¹¥ï¥Ã¥×¤·¤Æ¤ë¤Î¤«¤Ê

¥³¥á¥ó¥È