Skip to content

Instantly share code, notes, and snippets.

View ryuichiueda's full-sized avatar

Ryuichi Ueda ryuichiueda

View GitHub Profile
@ryuichiueda
ryuichiueda / result.txt
Last active December 13, 2023 10:21
thread-fork test result
$ cargo run
・・・
1秒後 Child: ""
2秒後 Child: ""
3秒後 Child: ""
4秒後 Child: ""
5秒後 Parent { child: Pid(50794) }: "written"
5秒後 Child: ""
6秒後 Parent { child: Pid(50794) }: "written"
6秒後 Child: ""
@ryuichiueda
ryuichiueda / malloc_1gib.c
Last active February 9, 2026 08:30
仮想メモリと確保された物理メモリの容量の違いの調査
#include <stdlib.h>
#include <unistd.h>
int main() {
char *p = malloc(1024*1024*1024); //1GiBメモリ確保
for(int i=0;i<1024*1024;i++) //最初の1MiBにデータ書き込み
p[i] = 111;
sleep(10000); //観察用にプログラムを止める
exit(0);
}
#include <stdlib.h>
#include <unistd.h>
int main() {
char *p = malloc(1024*1024*1024); //1GiBメモリ確保
for(int i=0;i<1024*1024*1024;i+=4096)
p[i] = 111;
exit(0);
}
#include <stdlib.h>
#include <unistd.h>
int main() {
char *p = malloc(1024*1024*1024); //1GiBメモリ確保
for(int i=0;i<1024*1024*1024/4096;i++)
p[i] = 111;
exit(0);
}
#include <stdlib.h>
#include <unistd.h>
int main(int argc, char const *argv[]) {
int n = atoi(argv[1]);
for(int i=0;i<n;i++) {
char *p = malloc(1024*1024); //1MiBメモリ確保
for(int i=0;i<1024*1024;i+=4096)
p[i] = 111;
}