FreeNAS sambaでファイルロックを解除する方法

突然のネットワークダウンなどでサーバとのセッションが切れて、エクセルなどが後から開けなる現象があります。
この場合、TELNETでFreeNASへ入り、セッションを終了しなくてはなりません。
しかしどのようにしてセッションまたはPIDを探すのかが問題です。

とりあえずアクセスしているパソコンのコンピュータ名(XXXXXX)を調べます。

# smbstatus -S | grep 'XXXXXX'
Service      pid     machine       Connected at
-------------------------------------------------------
KYOUYU       95453   XXXXXX       Thu Jul 31 12:12:34 2014

PIDが95453であることが分かりました。

後はkillするだけです。

# kill 95453

全体を再起動すれば、こんなことはしなくてもいいのですが、全体に影響を与えますので、個別で対応する事がいいかもしれません。

/etc/X11/xorg.confがない場合に作成する方法

/etc/X11/xorg.confがなく、機能を追加したくてもできない場合があります。 まず現在のXサーバを停止する

# init 3

現在の設定を書き込む

# Xorg -configure

# ls -a xorg.conf.new
xorg.conf.new

このxorg.conf.newを/etc/X11/xorg.confへコピーする。

# cp xorg.conf.new /etc/X11/xorg.conf

これでxorg.confが出来上がる。

中国でGoogle Apps完全にアクセスできず・・・

多くの企業が中国へ工場を出していると思います。連絡を取る為にはメールなどインターネットを使ったツールが必需品です。
日本ではGoogle Appsを使っていて便利ですが、中国工場へ出張する際は注意が必要です。
先月まではGMailぐらいは使えたのに、今では完全にアクセスができません。

どうしたらいいのだろうか・・・。
今のところ対応は難しいです。

インターネットを検索すると有料のVPNでは接続できるという情報があります。
しかしわざわざお金を出して、賭けに出るのも嫌なので、確実につながる方法を探しました。

一番簡単な方法はマイクロソフトのLiveメール(Outlook.com)を使用する方法です。
「メール アカウントのインポート」を行い、Gmailのインポートを行います。
いくつかの設定をこなった後にインポートが開始され、すべてのデータがインポートされるまで待ちます。
すべてのインポートが終わらないと新しいメールなどはインポートされないようです。

IMAP機能というより、インポート機能ですね。
使い方が間違っている可能性がありますが、とりあえずメールは送れます。

FATAL: erealloc(): Unable to allocate XXXXXX bytes エラー対策

FATAL: erealloc(): Unable to allocate XXXXXX bytes

いろいろなサイトで対策が記載されていますが、実施してみてもなくなることはありません。

なぜ起きるの検証してみました。httpd.confのThreadsPerChildを1000程度にしてみて、いつメッセージが出るのかタスクマネージャを見ながら確認してみました。
ThreadsPerChildを大きくすると発生する期間が短くなることはわかってきました。しかしThreadsPerChildを小さくしても必ず発生するようです。

ThreadsPerChildを1000にして5分後にエラー発生し、その時のメモリ使用量を確認しました。メモリは600MByteほどした。
すごい勢いでメモリーが食っていくようです。(私の環境ではWindows+Apache+phpです)

メモリが増えすぎて発生するわけではないと思いますが、何らかのメモリの異常であることは判るので、Apacheの再起動を定期的に行う事でメモリをクリアするとどうなのだろうか?
Windowsの再起動はHELPで確認、”-k restart : tell running Apache to do a graceful restart”となっているので、graceful restartであることを確認。
(強制終了ではないので、データベース接続にのも安心です)

ThreadsPerChildを100程度にして、”httpd.exe -k restart”を1時間ごとに実行するようにした。
バッチファイル ApacheRestart.bat

"C:\Program Files (x86)\Apache Software Foundation\Apache2.2\bin\httpd.exe" -k restart

1日経過してみて、エラーは1度も発生しなかった。
同じ現象がある方々には、この方法をおすすめします。
但し、今回のケースはWindowsなのでLinuxの場合は、”graceful”で再起動する事をおすすめします。