#include <stdio.h>
#include <stdlib.h>
#include <math.h>
int main() {
size_t s = 1024 * 1024 * 256; int *p; int i, j;
while (1) {
/* p = calloc(s, sizeof(int)); */
p = malloc(s * sizeof(int));
for (i = 0; i < 10; i++) {
p[j = rand() % s] = i;
if (i == 9) fprintf(stderr, "%d\n", j);
}
}
return 0; }
4GB以上のメモリ使いたいですか (スコア:1)
Re:4GB以上のメモリ使いたいですか (スコア:1, 参考になる)
squidで700Mぐらい使用するマシンはメモリ1.5G,SWAP 3G
SWAPの大きさ (スコア:0)
Re:SWAPの大きさ (スコア:1, 参考になる)
>足りなくなって始めてSWAPを確保しに行きます。だから、
>LINUXは最低16MB程度のSWAPがあれば、それ以上はあっても
>なくてもどうでもいいと書いてあるようです。
そのかわり、SWAPが十分確保されてないと、プロセスがメモリの
新規割り当てを要求した時点でそのプロセスは落とされていき
ますがなにか?
Re:SWAPの大きさ (スコア:0)
FreeBSDはすごいねぇー。
Re:SWAPの大きさ (スコア:1)
OSカーネルは本当に落ちません. 新しいプロセスは上がりませんが. またメモリが足りなくなることを想定していないプロセスは落ちますが, そうなってもOSカーネルは動き続けます.
で, それに対してLinuxは昔(2.0カーネルのころだったか?)スワップ領域を含めたメモリ空間が確保されないとカーネルごと落ちると聞いたことがあって, Linuxダメじゃんと思ったことがありました. まあ設計思想の問題だとは思うのですが, 最近の2.4や2.6カーネルってどうなっているんでしょうね?
Re:SWAPの大きさ (スコア:1)
2.4(RedHat9だから2.4.20)では落ちはしないけど、プロセスがCPUを食ったままハングアップして、カーネルも反応しなくなって、結局リセットするしかなくなりました。
アプリがちゃんとmallocの返り値見てエラー処理してれば、問題ないとは思うんですけど。
ちなみに使ってたアプリはcinepaint0.18です。ファイル閉じるときにメモリ開放してないバグあって、何枚も開いて閉じてしてるとスワップ食いつぶしてハングアップ。
今はパッチ当てて使ってるので、2.6では未確認です。
Re:SWAPの大きさ (スコア:1, すばらしい洞察)
Re:SWAPの大きさ (スコア:0)
Re:SWAPの大きさ (スコア:1)
>ディスクI/Oに忙がしくて反応が遅れてる
という意味で、
>>プロセスがCPUを食ったままハングアップして、カーネルも反応しなくなって
と書いたのを理解してもらえないんじゃ、仕方ないでしょ。
反応遅すぎて、5分以上待っても応答が帰ってこないんだもん、リセットするわい。そっちの方が速いもん。
Re:SWAPの大きさ (スコア:0)
そんな馬鹿な書き方をする方が悪いんです。反応が遅れるのとカーネルが「ハングアップ」するのとはまったく別のことですから。このコメント [srad.jp]にもあるように、このスレッドではスワップ領域の寡多によって
という話をしていたのに、いきなり「カー
Re:SWAPの大きさ (スコア:1)
プロセスがハングアップとは書いたけど、カーネルがハングアップとはどこにも書かなかったよ。
カーネルが反応しなくなった、とは書いたけど。
>日本語は不自由だし技術的な話も頓珍漢
そりゃあなたでしょ(苦笑)
Re:SWAPの大きさ (スコア:0)
そういう見苦しい屁理屈はやめたらどうですか?実際あなたは このコメント [srad.jp] で
ってはっきり書いてます。実際、プロセスはCPUなんかこれっぽっちも食ってない、単にI/Oの終了を待ってるだけ。一方、カーネルから見た場合、いちユーザープロセスにCPUを食われてしまって正常に資源のスケジューリングと管理ができなくなった状態がまさしく「ハングアップ」(OSのカーネルがしなければいけな
Re:SWAPの大きさ (スコア:1)
>カーネルもきちんと動いている
だから、「落ちはしないけど」って、その前に書いてあるでしょ?
「カーネルも反応しなくなった」というのは、確かに言い過ぎで「Xが反応しなくなった」と書くべきでしたね。この点は謝ります。
>SilberschatzでもASTでも見ればよい
はあ。Xが固まって動かない状態でですか。外からリモートでならできるんでしょうけど、私は普段は外部からアクセスするためのデーモンは全部止めているもので。
Re:SWAPの大きさ (スコア:0)
> はあ。Xが固まって動かない状態でですか。
> 外からリモートでならできるんでしょうけど、
> 私は普段は外部からアクセスするためのデーモンは全部止めているもので。
Silberschatz
オペレーティングシステムの概念〈上〉 [amazon.co.jp]
オペレーティングシステムの概念〈下〉 [amazon.co.jp]
まぁ、↓の方がお勧め。
Operating System Concepts [bell-labs.com]
AST 先生は、とりあえずここら辺?
オペレーティングシステム [amazon.co.jp]
Re:SWAPの大きさ (スコア:0)
「はあ」じゃないよ。自分でも
と書いてるようにカーネルが動いていたことは認めてるんだろ?カーネルが動いてたんなら、
なんて言いぐさは頓珍漢極まりないのがわかんないのか。カーネルが動いてるなら、いちユーザープロセスが「CPU食ったまま」になることなんかあり得ないんだよ。本当にOSのこと何もわかってないんだなあ。その程度の知識しかない
Re:SWAPの大きさ (スコア:1)
>Silberschatz [amazon.com]やAST [amazon.com]を知らないってのもかなり酷い
すみませんねぇ、話の流れからてっきりプロセスの状態を監視or管理するツールでそういう名前のものがあるのか思い込んでしまったもので。
教科書読んで勉強しろって意味でしたか。
>カーネルが動いてるなら、いちユーザープロセスが「CPU食ったまま」になることなんかあり得ない
だから「プロセスがハングアップ」するということは、「カーネルがハングアップ」することを意味するということですか。ハングアップという言葉の意味がそういう意味だとは知りませんでした。
Re:SWAPの大きさ (スコア:0)