Linuxでプログラムごとの正確なコアメモリ使用量を表示させる『ps_mem』コマンド

今回は、プログラムごとのコアメモリ使用量を出力するコマンド『ps_mem』を紹介する。

1.インストール

まずはインストールから。
以下のコマンドを実行する。

RHEL系

sudo yum install ps_mem -y

Debian/Ubuntu系

git clone https://github.com/pixelb/ps_mem/
sudo cp ./ps_mem/ps_mem.py /sbin/ps_mem

以上。


自宅用ストレージサーバに最適!HDDを大量に搭載でき、見た目もかっこいいPCケース5選

職業柄なのか、まわりに自宅サーバを立ててる人間が多い。
特に多いのがファイルサーバやNASといった、HDDが多いストレージサーバの類だ。

今回は、そんなHDDを多く搭載でき、かつ見た目もかっこいいPCケースを紹介する。

1.LIAN LI PC-D600

3,5インチベイが6個、そして5.25インチベイが10個もあるアルミ製の巨大PCケース。
マザーボードはExtended ATXまで対応している。

筐体正面から左側をマザーボードと電源、そして右側にストレージ類をまとめる事で効率的な冷却を行わせる「熱源分離構造」を採用している。

2.LIAN LI PC-D666

...
HP-UXにSSH接続して日本語入力出来ない場合

HP-UXでkshを使ってSSH接続する際、「echo $LANG」で確認すると「ja_JP.SJIS」で設定されているにも関わらず、日本語入力が文字化けしてしまう事がある。

上のように、日本語で入力しようとすると

こんな感じで、文字化けしてしまう。

原因と解決策

原因は、HP-UXはデフォルトでは端末からの入力文字を7bitまでしか認識しない設定になっているためだ。
このため、8bitで入力、転送される日本語が文字化けしてしまう、という事になる。


コマンドプロンプトから他のPCにメッセージを送信できる『MSG』コマンド

Windowsには、コマンドプロンプトから別のPCへメッセージを送るコマンドが存在する。
MSGというコマンドなのだが、ちょっとしたイタズラに使えるので紹介しよう。
※相手のPCに下準備が必要。セキュリティ上問題ありなので注意。

1.下準備

メッセージ送信先のPCで、以下のコマンドを実行する。
なお、実行は管理者権限で行うこと。

C:\> reg add "HKLM\SYSTEM\CurrentControlSet\Control\Terminal Server" /v AllowRemoteRPC /t REG_DWORD /d 1


デスクトップ上で初代Macを使ってみよう!初代Macintoshのエミュレータ『Mini vMac』

初代Macintoshといえば、GUI、マウスを普及させたマシンとして有名だ。
今でも根強いファンが多く、小型PCボードであるRaspberry Piを用いたmini Macも作られている。

この動画で初代Macintoshを再現しているのが、『Mini vMac』だ。

今回は、このvMacを各OSで利用する方法について紹介する。

1.ファイルの準備

1-1.Windowsで利用する場合

まずは、以下のリンクからWindows用のプ...


あの名OSをデスクトップ上に再現しよう!Next Stepエミュレーター『Previous』

現在において、UNIX系OSとして高いシェアを持つMac OS X。
その元となったOSがNext Stepだ。かつて、Next Cubeという立方体型の筐体に搭載され、httpdなどの開発OSとなった。
そんなNext Stepのエミュレーターが『Previous』だ。

Previous, an emulator

私が生まれた頃のマシンということもあってか、このOSには触ったことが無い(後継であるMac OS Xはよく触っている)。
このエミュレーターの対応OSはWindows、Ubuntu、そしてMac OS Xとなる。

1.エミュレーターのダウンロード

まずはエミュ...


WordPressを多言語対応するためのプラグイン6選

ブログのアクセスアップを狙うためにSEOなどに手を出すようになったが、あまり効果が見られない人も多いだろう。
そもそも、日本語を利用している人数なんて、せいぜい1億程度なのだ。しかもパソコンやスマホを利用できる人間で考えれば更に減る。
つまり、英語や中国語などで記事を記述するといった、多言語対応すれば訪問者は劇的に増えるのではなかろうか?

というわけで、今回はWordPressを多言語対応にできるプラグインをまとめてみた。

1.WPML

WordPressの多言語対応プラグインと言えばコレ!というくらいに定番。
インストール直後でも、デフォルトで40言語以上が利用できる。も...


今の仕事で関わっているHP-UXはFC経由でストレージに接続しているのだが、今度この接続に用いているFCスイッチが交換される事になった。
で、その際にローカル側のN_PORT_IDが変更になるとの話になったので、今回はそのN_PORT_IDの調べ方を記述する。

そもそも、N_PORT_IDというものが何なの?と言う前に、N_PORTというものが何なのかというと『FCスイッチ側で、各ノードを識別するためのポート』の事で、Nはノードの略。N_PORT_IDは、そのN_PORTを識別するためのIDで、FCスイッチ側で各ポートに割り振るIDの事。
で、そのN_PORT_IDは当然サーバ側、スト...


Next Cubeに憧れて…立方体型のPCケース7種

かなり古いマシンなのだが、Next Cubeというマシンがある。

Appleの創業者スティーブ・ジョブズがAppleを追い出された後に作ったNext Computer社が発売したマシンで、httpdはこのマシンで開発されたという、歴史的なマシン。
使われていたOS『Next Step』は現在のMac OSの元になっている。

スティーブ・ジョブズはこの立方体型の筐体にこだわりを持っていたようで、後にMacでもPower Mac G4 Cubeというマシンを発売している。

今回は、そんなNext Cubeのような、立方体型のPCケースを紹介する。
中にはすでに発売中...


bash、ksh…Linuxで現在使用しているシェルを知る方法

Linuxを利用する際、大体はコンソールを利用すると思う。
その時に使っているシェルの種類は、shやbash、ksh、zshと多岐に渡る。今回は、現在使っているシェルの種類を調べる方法をまとめてみた。

1.コンソール上で確認する方法

コンソール上で確認するのは、以下のコマンドどちらかで対応出来る。

echo $0
ps -o args= -p "$$"

基本的に、この "echo $0"と"ps -o args= -p "$$""で確認が可能だ。
SolarisやHP-UX、Macでも有効なので、基本的にはこれだけ覚えていればいいだろう。

ただ、シェルスクリプトでは...


シェルスクリプト内で変数の値を置換する方法

シェルスクリプトを作成していると、変数の値を置換して出力したいと思うときがあるだろう。
では、どのような方法があるのだろうか?

1.sedコマンドを用いる

どの環境でも利用できる事を考えると、bashやkshに依存しない「/bin/sh」で利用出来る方法となる。
「/bin/sh」で利用出来る方法となると、sedコマンドを用いた方法が一般的だろう。

以下の例では、変数「TEST」の中身を「test1234」から「test5678」に置換している。

#!/bin/sh

TEST="test1234
test1234"

TEST=`echo "$TEST" | sed s/...

エンジニア必見?「=(イコール)」「%(パーセント)」「#(シャープ)」などの記号で検索出来る『Symbol Hound』

ITエンジニアとして仕事をしてて、スクリプトやプログラムを書いていると、記号で検索をしたいときがある。
しかし、現行(2014年11月時点)のGoogleでは、一部の記号で検索が出来ず、記号を指定しても無視されてしまう。

検索での句読点、記号、演算子 - ウェブ検索 ヘルプ

一応、一部の検索キーワードとして記号を指定する事はできるんだけど、検索される結果はその記号の名称になってしまう。

参考(「=(イコール)」で検索した結果)

ソースコードなどで検索したい事もあるので、これは困った…と思っていながら海外のフォーラムを見ていたところ、記号で検索出来る検索エンジン(検索サービ...


シェルスクリプトで外部ファイルに記述された変数を利用する方法

シェルスクリプトを作成していると、設定変数が記述された設定ファイルを外部ファイルとして利用したい事がある。 そんな時、どのようにすればよいのだろうか?

1.外部ファイル(設定ファイル)で定義されている変数を利用する場合

外部ファイル内で変数を定義し、その変数をスクリプトファイル内で使用している場合、「.(ドット)」後にそのファイルのパスを記述することで、そのファイルを読み込む事が出来る。 例えば、スクリプトファイル「test.sh」で、設定ファイル「conf.txt」に記述されている変数「USER」をechoで出力したいとする。

●スクリプトファイル「test.sh」

#!...

今回は、HP-UXのパスワード方式をSHA-512に切り替える方法について記述する。 実はHP-UXのパスワードの暗号化方式なのだが、実はデフォルト状態ではSHA-512に対応しておらず、md5しか対応していない。 ではどうすればよいのかというと、HP社が出しているdepotでPHI11i3というものがある。これを適用すれば良い。

1.ダウンロード

こちらのページからPHI11i3をダウンロードする。ここで注意したいのが、ユーザ登録がされている必要がある点。 ユーザ登録自体は無料だが、所属会社名などを聞かれる。

2.インストール

あとは、『Installing HP-UX P...


シェルスクリプトのWhile文で代入した変数が空になっている時の対処

先日作成を進めていたシェルスクリプトのWhile文で、変数に値が代入されていない事があったので、その備忘。 これは、Whileと他のコマンドを組み合わせた時に、その組み合わせ方に問題があるとサブシェルとして扱われてしまう事からくる問題だ。

たとえば、以下のように引数で読み込んだファイルの頭に行番号を追記するシェルスクリプトを記述したとする。

#!/bin/sh
i=0
cat $1 | while read line;
do
    i=`expr $i + 1`
    TEXT=$TEXT`echo $i`":$line\n";
done
echo $TEXT

で、実際にこのス...


シェルスクリプトで変数に改行コードを含める方法

今回はちょっと初歩的な内容だけど、シェルスクリプトで利用する変数に改行を含めた文字列を代入、取得する方法についてを記述する。
まずは、以下のようにcatで改行を含んだファイルを変数に代入してみよう。

/work/test$ cat test.txt
testtest
testtest1
testtest2
testtest3

/work/test$ aaa=`cat test.txt`
/work/test$

この、上記で適当に指定した変数「aaa」からechoで改行付きで出力させる場合、以下のように「"(ダブルクォーテーション)」で変数を囲ってあげる必要がある。

/w...

FTPの処理内容で変数を用いたスクリプトの作成

仕事でFTPのスクリプト作成についての検討をしていたところ、ちょっと覚えておきたい内容があったので備忘として記述しておく。 FTP putのスクリプトなのだが、put先にはそれぞれのホスト名のディレクトリが存在しており、そこにファイルを設置するというスクリプトを作成したかったのだ。で、このホスト名をどうするのか?なのだが…

当たり前の話になってしまうのだが、bashやkshで定義した変数は、FTPのプロンプト内では利用出来ない。

bashやkshで定義した変数を利用するには、これらで作成したスクリプト内で変数を展開する必要がある。 FTPは、以下のような外部ファイルを用いて接続や処...


『Concurrent RDP Patcher』で有効化したWindows 7 Home Premiumのリモートデスクトップが接続できなくなったときの対応

※2014年11月24日更新

KB2984972(Windows 7 用セキュリティ更新プログラム)>」およびKB3003743によってまた利用できなくなったようですが、2chの有志の方がConcurrent_RDP_Patcher.zipに改修を加え、この2つのWindows Updateが適用されていても使えるようにしてくださいました。 ダウンロードはこちらから。パスワードは「rdp」とのこと。


※2014年11月13日 6:00 更新

2014年11月12日のWindows Updateにより提供された「KB3003743」により、以下に記述されているパッチ...


快適にGoogle Chromeを使うために!Chromeのメモリ消費をおさえるためにやっておきたい4個の事

今自分が使っているPCでは、通常のブラウジングではGoogle Chromeを用いているのだが、メモリ16GB搭載しているPCでもタブを200個とか開くと、PC自体の動作が異常に重くなってしまう。
Google Chromeは非常にスイスイ動くブラウザなのだが、メモリを非常に食うのがネック…

そこで、今回はGoogle Chromeを快適に使うために、覚えておきたい事をまとめてみることにした。

1.Google Chromeで利用しているメモリ使用量を知る

Google Chromeでタブを開きすぎている事で重くなっている事がわかっても、どのタブがどの程度メモリを使用しているのか...


HP-UXでパスワード変更の自動化(expect無し・デフォルト状態)

以前から、HP-UXでのパスワード設定を自動化、スクリプト化する方法について模索してきた。Teratermでpasswdコマンドを遅延入力してみたりLinuxにあるchpasswdコマンドが無いかと調べてみたりしてきたが、今回の内容でexpectなど無しでもパスワードの設定、変更が自動化できそうだ。

といっても、大した事はしていない。そもそも、HP-UXしかり、Linuxしかり、usermodやuseraddのオプションで引数にハッシュ化したパスワードを指定するオプションが存在している。だから、パスワードをハッシュ化してこれらのコマンドにわたせばいいだけだ。

まずは以下のコマ...


現在使われているkshのバージョン確認

先日、HP-UXのスクリプトで比較演算子がSyntax Errorになることがあった。
どうやら、kshの88だと「==」を利用できない事がその原因のようだ。

という訳で、kshのバージョン確認方法についてを記述する。
なお、今回紹介する確認方法はいくつかあるが、一部はHP-UXやAIXで利用できなかったものもある(Linuxでは利用できた)。
その点については、備考として記述しておく。

1.「$KSH_VERSION」で確認する

変数「$KSH_VERSION」をechoすることで、kshのバージョンを確認する。

$ echo $KSH_VERSION
Version...

LinuxでNICのリンクアップ/ダウンや速度を確認できる『mii-tool』と『ethtool』コマンド

業務でサーバの構築や運用をしていると、特定のNICで通信ができなくなったりすることがある。
今回は、そんな時に使える通常コマンドである『mii-tool』と『ethtool』について紹介する。

1.リンクアップ/ダウンとLANの速度を確認できるmii-tool

mii-toolは、対象のNICのリンクアップ/ダウンとLANの速度が確認できる。
実行にはroot権限が必要になるので、sudoかrootで以下のようにコマンドを実行する。

sudo mii-tool eth0

実行した結果がこちら。

$ sudo mii-tool eth0
eth0: negotiated...

ディレクトリごとに移動してduコマンドの出力を見れる『gt5』コマンド

久々のコマンドもの。
今回は、実行することでディレクトリを移動しながらduコマンドの出力結果を参照出来るコマンド『gt5』について紹介する。
検証用のOSはUbuntu 14.04 LTSを用いる。

1.インストール

まずはコマンドのインストールから。
以下のコマンドを実行する。

sudo apt-get install gt5

2.コマンドの実行

それでは、実際にコマンドを実行してみよう。

su...

Linux(UNIX)には、差分同期を自動的に行ってくれるコマンド『rsync』というものがあるのだが、これと同様の使い方が出来るWindowsのコマンドプロンプト用のコマンド『Robocopy』というものがあったので紹介する。

robocopy <コピー元フォルダ> <コピー先フォルダ>[<対象となるファイル> [...][<オプション>]

rsyncと同じく、ミラーリングや差分コピーも可能で、Deleteオプション(コピー元に存在しないファイルを削除する)相当のオプションも存在する。
また、samba経由でのバックアップも可能であり、rsyncには存在しないログ出力オプシ...


上司、同僚のPCに!地味で効果のある嫌がらせ・イタズラ手法13選

仕事をする上で、上司や同僚との交流は避けられないもの。
そんな彼らのPCに、こっそり嫌がらせや、イタズラを仕込んでみたくなる…

今回は、そんなPCへの嫌がらせ、イタズラを紹介する。使用されているOSはWindows 7とする。

なお、ここで紹介した手法を実際にやって、何かしら問題があっても私は知りません!
自己責任でお願いします。

1.マウスの設定を左手(右手)用に変更する

マウスの設定を左右逆にすることで、左クリックが右クリックに、右クリックが左クリックとして扱われる。
設定方法は簡単で、[コントロールパネル] > [マウス]を開き、上記画面の「首と副のボタンを切り替...


Windows 7 でキーマップ(キーボードレイアウト)を編集・変更する方法

キーボードにはCapsLockなど人によっては利用しないキーがある。それを誤入力すると結構面倒だ。
そこで、今回はWindows 7でキーマップ(キーボードレイアウト)を編集・変更する方法についてを紹介する。

1.キーマップ編集ソフトでの編集

まずは、キーマップ編集ソフトからの編集から紹介する。このキーマップ編集ソフト、いくつか種類があるが、代表的なものは以下の3つのようだ。

  • Change Key
  • remapkey.exe
  • KeyTweak

今回の所は、一番上のChange Keyを用いることにする。
まずはソフトのダウンロード。こちらのページからダウンロードを...


WordPressの動作を軽くするためにインストールした高速化プラグイン8選

このブログだが、最近ちょっと重くなってきたので動作を軽くするためのプラグインをインストールしてみた。
そこで、どのプラグインをインストールしたのかについて紹介する。

1.WP File Cache

WP File Cacheは、PHPの変数の値をキャッシュして、MySQLのクエリ数を減らす事ができる、オブジェクトキャッシュプラグインだ。

使い方は、ただインストールして有効化するだけ。特に設定は必要無い。

2.MO Cache

MO Cacheは、Wordpressの翻訳ファイル(.moファイル)をキャッシュするプラグインだ。
WordPressは英語以外の文字で使用...


【翻訳】もしプログラミング言語10種が実在の人物だった場合

以前(といっても、数年前だけど)、はてなブックマークでこのような記事を見かけたので、今回はその記事を翻訳してみることにした。
今回は対象の記事は削除されてしまっていたようなので、Web Archiveから情報を取得している。

C言語(チャーリー)

C言語は、多くの事を知っている70歳の老人である。彼の自尊心は高く、自身が何をどこまで知っているかについて明らかにしたがりません。
彼は、物事のやり方に厳格な人間であり、そんな彼の考え方は、何者でも変えること出来ないだろう。彼は、過去にDevel市の大学で最も厳格な先生の一人として知られていた。

C言語はあなたを幸福にする...


コマンドプロンプトからTeratermで自動ログインを行う(マクロ不要)

以前、Teratermでリストファイルから選択したサーバに自動ログインを行うマクロを記述したが、TeratermではコマンドプロンプトからSSHコマンドのようにSSH接続を流す事が出来る事がわかったので記述する。
うまいこと使うことが出来れば、作業の省力化につながるだろう。

1.コマンドプロンプトで実行するコマンド

では、早速コマンドプロンプトでの実行コマンドを記載しよう。
以下のようにコマンドを実行する。

"C:\Program Files (x86)\teraterm\ttermpro.exe" サーバのIPアドレス(もしくはホスト名) /auth=password /...