« 2008年06月 | メイン | 2008年08月 »

2008年07月07日

Apache PHP emalloc() でエラー

HTTPのPOSTで、非常に大きなサイズのデータを受け取る必要があり、試行錯誤しているんですがなかなか解決しません。

Error.logには「emalloc(): Unable to allocate 1407033033 bytes」が連発です。
(まー、1G超をPOSTってどうよ・・って思うんですが、なにぶんここ最近急激な変化があったもので、仕方なかったんですぅ)


プログラム自身を見直すのが一番の近道で本道なんでしょうが、自社内だけの話ではなく、先方のプログラムも変更をしなければならないので、何か方法な無いものかと探していました。

エラーメッセージからすると、当然mallocから推測できるように、メモリ確保の失敗が原因らしいですが、何をどうしたら直るのかがわかりません。

PHPの設定は当然大きな値に変更しましたが、まったく状況は変わりません。

・・・・・・・・ということで、いろいろと情報を探ってみると

住商情報システムさん?株式会社アライドエンジニアリングさん?
http://www.scs.co.jp/advc/techinfo_linux.html
とか、大規模なシステムを組んでいるところから、いくつか技術情報がでてました。
----------------------上記サイトより抜粋--------------------------------
x86 (386, 486, Pentium ...) の Linux では, 最新のカーネルを使えば 64GB まで使える, などと聞かれたことがあるかも知れませんが, これはシステム全体として使えるメモリサイズで, 1 プロセスではこんなに使えません。 まず,32bit のアーキテクチャということで 4GB (2^32B) の壁 があるのですが,実は更に制限があります。 簡単にまとめますと,
1回の malloc のサイズが 128kB 以下のものの合計:約 1GB まで
1回の malloc のサイズが 128kB 以上のものの合計:約 2GB まで
・・・・・・・・
---------------------------------------------------------------

このようなことは、当然Linuxの技術文書にも載っていることとは思いますが、なにぶんエイゴはマッタクダメデース。

大変助かりました。


解決したわけではありませんが、原因がわかりすっきりしたところで、プログラムの変更です。


原因がわからないままでのプログラム変更は絶対にしたくない性質なので、これでさくさく仕事が進みそうです。

投稿者 Anne : 11:45 | コメント (0)

2008年07月06日

自宅サーバー 冷却装置の作成 その4

サーバー冷却の稼動状況を確認するために、こんなページをを作りました。

reload
mrtg
fan1: 8881 RPM (min = 3000 RPM, div = 2)
fan2: 8544 RPM (min = 3000 RPM, div = 2)
temp: +39.0ーC (limit = +60ーC, hysteresis = +50ーC)

webcam.jpg

ファンの回転数とCPU温度はsensorsの返りを整形して、下のスーパー冷却装置の画像はUSBカメラとffmpegの組み合わせで取得しました。

これで何処にいても携帯から確認が取れて、更に冷却装置の遠隔操作も自由自在です。

海外にいてもOKです。(パケ代が高そうですが・・)

いずれは温度で電源を自動で操作しようと思ってますが、夏の間だけなのでしばらくは様子を見てみます。
(冷える場所がサーバー近辺だけなので、エアコンの温度センサーは室温で認識してまってます。エアコンの設定温度を30度にしてても、運転しっぱなしです。きをつけナイト)

投稿者 Anne : 15:06 | コメント (0)

2008年07月03日

自宅サーバー 冷却装置の作成 その3

ひとまず完成。


どうですか、この手作り感満載のシステムは!


TS3E0095.JPG


かかった費用は約6000円ほどです。


全貌はコチラ


TS3E0096.JPG


素人丸出しですね。でもね、でもいいんです。


実用的な電子工作で、初めてきちんと動いてくれてるんですヨ。


十分満足です。

投稿者 Anne : 23:21 | コメント (0)

 

ハワイ旅行| サトピの子連れグアム旅行記| グアム旅行の情報サイト| ガーデニング|

Copyright (C) 2009 Anne Corporation. All Rights Reserved.