【2019年7月】

CPUをオーバークロックしてみた

このエピソードの続き。

CPUを換装してみた

このマザーボードはマニア向けのマザーボードで、FSB(Front Side Bus)の値を調整して、オーバークロックを掛ける事ができる。
CPUをオーバークロックで動作させるなんて、30年以上前に、当時持っていた NEC PC-6001MKⅡ の水晶振動子を交換してパワーアップをかけて以来だ。(^^;

さて、このマシンでオーバークロックを試してみる。
マシンを起動してBIOS画面に入り、「CPU Bus Frequency」画面で設定する。
初期画面では「133MHz」が初期値になっている。

「CPU Bus Frequency」画面

この「133MHz」というのは、Pentium M もしくは Celeron M のシリーズでは、FSBが「400MHz」のシリーズと、「533MHz」のシリーズがあり、その差が「133MHz」という事らしい。
と、言う事は、そもそも、「533MHz」のシリーズというのは、「400MHz」のシリーズをオーバークロックしたものという事なのだろうか。もしかして、「400MHz」のシリーズのCPUを装着すると、ここには「0MHz」と表示されるのだろうか。

どこまで数値を上げられるのか、まったく見当がつかないのだけれど、以下の要領でトライしてみる。

(1).マシンが動かなくなる上限を探す

デフォルト値から5MHz単位で上げながら、マシンを再起動、BIOS画面が出なくなるまで繰り返す事にする。
すると、170MHzまで上げたところでBIOS画面に入れなくなった。

(2).OSが起動できる上限を探す

BIOSをリセットし、今度は165MHzから5MHz単位で下げながら、マシンを再起動、OSが起動できるまで繰り返す事にする。
すると、最初の165MHzでOSが起動した。
これでイケるかと思ったのだけれど、この状態でベンチマークを動かすと、ベンチマークのソフトウェアが実行中に落ちてしまった。
これは「CPUが不安定」という状態なのだろうな。

(3).ソフトウェアが動作する上限を探す

今度は160MHzから5MHz単位で下げながら、マシンを再起動し、OSを起動し、ベンチマークを実行できるまで繰り返す事にする。
すると、最初の160MHzで、ベンチマークが最後まで実行できた。
これが「安定した状態である」のかどうか、不安はあるのだけれど、安定したのだと信じて、このクロックで動かしてみようと思う。

先に取った、Pentium M 730 1.60GHz でのベンチマークは以下の通り。

1回目:System Benchmarks Index Score 455.9
2回目:System Benchmarks Index Score 455.6
3回目:System Benchmarks Index Score 458.4

平均は 456.6。

CPUを Pentium M 770 2.13GHzに換装し、更に 2.56GHz までオーバークロックを掛けた状態でのベンチマークは以下の通り。

1回目:System Benchmarks Index Score 719.9
2回目:System Benchmarks Index Score 719.6
3回目:System Benchmarks Index Score 719.9

平均は 719.8。

CPUを 770 に換装して試したときと同様、CPUの動作周波数がアップした分、そのままベンチマークのスコアがアップしている。

2.56GHz / 1.60GHz = 1.60倍
719.8 / 456.6  = 1.57倍

すなわち、ベンチマーク上では、マシンの性能は元々の Pentium M 730 1.60GHz から比べて、約1.6倍の動作速度になった。
CPUの安定度とオーバークロックによる発熱量の増加が心配ではあるけれど、まずはOKでしょう。

とりあえず、これでしばらく動かしてみようと思う。

 

一連記事:

CPUを換装してみた

CPUのアップグレードをトライしてみた。

CPUのアップグレードにトライ

何年か前に知人から譲り受けたマシン。
CPUは Pentium M 730 1.6GHz、搭載可能な最大メモリは 2GB と、今時の64ビットCPUのサーバに比べたら比較にならないくらい非力だし、昨今は、Windowsにしろ、Linuxにしろ、64ビット化の波が激しく打ち付けられてきているけれど、32ビットマシンでも、まだまだ活用できるシーンはあるので、最大限にアップグレードして、この老体PCを延命してみようと思う。

現在は Pentium M 730 1.6GHz が搭載されている。
マザーボードのマニュアルによれば、Pentium M 770 2.13GHz まで搭載できるらしい。
ただし、Pentium M は、更に上位の 780 2.26GHz が発売されており、もしかしたら 780 に換装する事ができるのかもしれない。しかし、①マザーボード(AOpen i915GMm-HFS)が 780 に対応しているかわからない、②おそらく 780 は手頃な価格では手に入らない、という軟弱な理由で、マニュアル上でOKとされている 770 までアップグレードする事にする。

まず、770 を調達する。
探しまくればあるのだろうけれど、ざっと探してみる限り、新品は見つからない。もっとも、新品があったとしても、価格が高いであろうから、おそらく購入しないが...。
中古品であれば、楽天、Amazon、Yahoo!ショッピングなどで探すと、4,000円~10,000円くらいで見つかる。しかし、まだ高い。もう少し安く手に入れたい。

そこで、ヤフオクに頼ってみる。
検索してみると...あった!

ヤフオク

980円(送料無料)、更にシリコングリス付き。
即決価格が980円に設定されていたので、一発落札。

しばらく待って、落札した 770 が到着。

落札した 770 が到着

CPUの換装作業を開始する。
冷却ファンを取り外す。

冷却ファンを取り外す 冷却ファンを取り外す

ヒートシンクは、どうやって外すのかがわからない。
よくよく見ると、ネジの先端がこちら側に見える。と、言う事は、マザーボードの裏側からネジで固定されているのか。「くっそー!」と思いながら、マザーボードをケースから取り外し、マザーボードの裏側からネジを外す。

裏側のネジを外す

ヒートシンクを取り外すと、CPUが見えた。

CPUが見えた

CPUの横にあるソケットネジを回して、CPUのロックを外し、730 を取り外す。

CPUのロックを外し、取り外す

今回購入した 770 にシリコングリスを塗る。

シリコングリスを塗る

770 を取り付ける。

CPUを取り付ける

CPUの横にあるソケットネジを回して、CPUをロックする。

CPUをロックする

ヒートシンク、冷却ファンを元通りに取り付ける。

ヒートシンク、冷却ファンを取り付ける

電源などを接続し、パワーオン!
「ピッ」っという正常起動音が鳴ってブートし、 無事、BIOS画面が表示された。ヨシ!

BIOS画面が表示された

730 の時に、予めUSBメモリにインストールしておいた CentOS 7.6(32ビット版)を起動する。

CentOS 7.6.1810 を

念のため、CentOSが認識しているCPU情報を確認する。

$ cat /proc/cpuinfo | grep "model name"
model name : Intel(R) Pentium(R) M processor 2.13GHz
$

「2.13GHz」と出力されているので、770 として認識しているようだ。ヨシ!

続いて、ベンチマークを取ってみる。
ベンチマークは、Linux Bench を使用する。

730 のベンチマークは以下の通り。

1回目:System Benchmarks Index Score 455.9
2回目:System Benchmarks Index Score 455.6
3回目:System Benchmarks Index Score 458.4

平均は 456.6。

770 のベンチマークは以下の通り。

1回目:System Benchmarks Index Score 596.6
2回目:System Benchmarks Index Score 598.0
3回目:System Benchmarks Index Score 597.2

平均は 597.2。

CPUの動作周波数がアップした分、そのままベンチマークのスコアがアップしている。

2.13GHz / 1.60GHz = 1.33倍
597.2 / 456.6  = 1.31倍

すなわち、ベンチマーク上での性能計測では、マシンの性能は約1.3倍になった。
OKでしょう。

あと、メモリも増設する。
メモリもヤフオクで探して入札。
PC2-5300(1GB)×4枚を、280円+送料250円、計530円で落札。

メモリ

ただし、マザーボードに挿せるメモリは2枚で、最大2GBなので、購入したメモリのうち、2枚だけを使用する。

# cat /proc/meminfo | grep MemTotal
MemTotal: 1894240 kB

このマシンには、もうしばらく頑張って貰おう。(^^)

一連記事:

サーバのファンを交換

社内のサーバの冷却ファンが故障してしまった。
サーバは DELL PowerEdge 400SC。

DELL PowerEdge 400SC

ひどいゴロゴロ音がして、ファンは揺れながら回っている。

ファンを指で触ってみると、ガタガタになっている。

油をさしてなんとかなるものではなさそうなので、交換する方向で考える事にする。
ただし、このサーバは32ビットのCPUで、将来的にいつまで運用するか不透明ではあるけれど、ずっと開発で使用していて、使い勝手がいい状態で運用されているので、ファンを修理して延命する事にする。

400SC用に使用できるファンは楽天などでも販売されているけれど、「DELL用」「PowerEdge用」と謳われている商品はそれなりに価格が高い。

汎用品として販売されているものであれば、もっと安く、1,000円程度で購入できる。

更に、Aliexpressであれば、2~3ドル程度からある。

しかし、私の手元には、過去にマシンを廃棄した時に部品取りをしてストックしておいたファンがあるので、今回はこれを移植する事にする。
左が故障したファン、右がストックしてあったファン。

左が故障したファン、右が部品取りでストックしてあったファン 左が故障したファン、右が部品取りでストックしてあったファン

ファンのケースを取り除く。

ファンのケースを取り除

コネクタの形状が異なるので、故障したファンのケーブルを移植する。
3本の線は、それぞれをはんだ付けした上で熱収縮チューブで覆い、更に3本をまとめて熱収縮チューブで覆う。
はんだ付けをする時に、3本を少しづつずらした状態ではんだ付けするのがミソで、こうしておくと、3本をまとめた時に接合部をスリムにできる。

線を繋ぐ 線を繋ぐ 線を繋ぐ

この状態で試運転してみる。

OKだ。

ケースのファンを差し替える。
ファンはゴム製のブッシュでケースに固定されているのだけれど、このブッシュは持っていない。

ゴム製のブッシュは、単に固定するだけの機能ではなく、振動を吸収するという機能もあるとは思うのだけれど、ここはケッチって結束バンドで固定する事にする。

結束バンドで固定する

ファンのフードを取り付ける。

フードを取り付ける

ファンを取り付けて、再び試運転をする。

OKだ。
これでヨシ!

delegate + TLS 1.2

このエピソードの続き。

CentOS 5.9 + TLS 1.2

今回は、delegate でリバース・プロキシを組んでいる環境で TLS 1.2 での接続を行う。

現在の環境では、FireFoxで警告が出てしまう。

SSL警告

リバース・プロキシの環境では、ブラウザの接続先はプロキシ・サーバとなるため、プロキシ・サーバが TLS に対応していなければ、この警告が出る。
従って、プロキシ・サーバがロードしている openssl ライブラリを更新して対処する事にする。

現在のプロキシ・サーバがロードしている openssl は 0.9.8x。古い。(^^;

Loaded: OpenSSL 0.9.8x 10 May 2012
Loaded: Zlib 1.2.3

これを、新しい openssl を読み込ませるように更新する。

それでは、トライしてみる。

(1).openssl を手動でインストールする。

$ cd openssl-1.0.2s
$ ./config shared enable-ssl2 enable-ssl3 --prefix=/*****/openssl-1.0.2s
$ make
$ su -
# make install

(2).opensslライブラリを差し替える。

この環境では、単純に delegate のディレクトリに openssl ライブラリを置く事で、そのライブラリを読むようにしている。

# cd /*****/delegate/sbin
# ls -l
合計 4084
-rwxr-xr-x. 1 root root 4180673 2月 19 23:43 2014 delegated
lrwxrwxrwx. 1 root root 51 7月 18 09:58 2019 libcrypto.so -> /*****/openssl-0.9.8x/lib/libcrypto.so.0.9.8
lrwxrwxrwx. 1 root root 48 7月 18 09:59 2019 libssl.so -> /*****/openssl-0.9.8x/lib/libssl.so.0.9.8

このシンボリックリンクを置き換える。
既存の openssl ライブラリ(0.9.8x)をバックアップする。

# mv libcrypto.so 20190718.libcrypto.so
# mv libssl.so 20190718.libssl.so

新しい openssl ライブラリ(1.0.2s)のシンボリックリンクを作成する。

# ln -s /*****/openssl-1.0.2s/lib/libcrypto.so.1.0.0 libcrypto.so
# ln -s /*****/openssl-1.0.2s/lib/libssl.so.1.0.0 libssl.so

確認する。

# ls -l
合計 4084
lrwxrwxrwx. 1 root root 51 2月 20 15:14 2014 20190718.libcrypto.so -> /*****/openssl-0.9.8x/lib/libcrypto.so.0.9.8
lrwxrwxrwx. 1 root root 48 2月 20 15:14 2014 20190718.libssl.so -> /*****/openssl-0.9.8x/lib/libssl.so.0.9.8
-rwxr-xr-x. 1 root root 4180673 2月 19 23:43 2014 delegated
lrwxrwxrwx. 1 root root 51 7月 18 09:52 2019 libcrypto.so -> /*****/openssl-1.0.2s/lib/libcrypto.so.1.0.0
lrwxrwxrwx. 1 root root 48 7月 18 09:52 2019 libssl.so -> /*****/openssl-1.0.2s/lib/libssl.so.1.0.0

delegate を再起動し、ロードされた openssl ライブラリを確認する。

Loaded: OpenSSL 1.0.2s 28 May 2019
Loaded: Zlib 1.2.3

上記(1)でインストールした openssl 1.0.2s がロードされた。

(3).正常な鍵マークが復活!

正常な鍵マークが復活!

無事、TLS 1.2 で通信された。

TLS 1.2 で接続された

これでよし!

楽天アフィリエイト WordPressプラグイン

WordPress用の楽天アフィリエイト プラグインを作った。

これまで、Amazonのアソシエイトを中心に商品リンクを貼っていたのだが、Amazonアソシエイトは規約が変更され、ある程度の売上実績がないとAPIが利用できなくなってしまった。

[重要] Product Advertising API 利用ポリシーの変更について

そこで、楽天アフィリエイトにもAPIがあるので、主軸を楽天アフィリエイトに移そうと思う。

API一覧 - 楽天ウェブサービス

Amazonでは、商品のコードは「ASIN」と呼ばれる商品コードに統一されており、どのような種類の商品でも、同じAPIで「ASIN」を商品コードとする事で商品リンクが作成できた。
しかし楽天では、商品の種類によって、呼び出すAPIや商品コードの指定方法が異なるので、ここが少々めんどくさい。
とりあえず今回は、楽天市場用、楽天ブックス(書籍)用、楽天ブックス(DVD/Blu-ray)用の3種類のプラグインを作成する事にする。

また、以前に、Aliexpress用プラグインを作成しているが、この実装に合わせて、以下の様な書式で商品リンクの挿入ができるようにし、キャッシュ機能も実装する。

(1).楽天市場

楽天市場の商品では、商品コードを拾うのが少々めんどくさい。
ページのソースを開き、ソース中の以下の様な記述を探す。

itemid:['honest-online:10000015'],

商品コードは「:」で区切られていて、前半が店舗コード、後半が商品コードと思われるが、「:」も含めて全体が商品コードであるので、これを商品コードとして記述する。
小さいサイズの商品リンクも表示できる。

[rakuten size="large"]honest-online:10000015[/rakuten]
[rakuten size="small"]honest-online:10000015[/rakuten]

実際の表示は以下のようになる。

(2).楽天ブックス(書籍)

楽天ブックス(書籍)の商品では、ページ中に表示されている「ISBNコード」を商品コードとして記述する。

[rbooks size="large"]9784062764131[/rbooks]
[rbooks size="small"]9784062764131[/rbooks]

実際の表示は以下のようになる。

(3).楽天ブックス(DVD/Blu-ray)

楽天ブックス(DVD/Blu-ray)では、ページ中に表示されている「JANコード」を商品コードとして記述する。

[rdvd size="large"]4988135805799[/rdvd]
[rdvd size="small"]4988135805799[/rdvd]

実際の表示は以下のようになる。

Aliexpress用プラグインとフォーマットを合わせてあるので、これらを混在させて並べてもOK。

大きいサイズ。

小さいサイズ。

これでヨシ。
とりあえず、バージョン1.0。

CentOS 5.9 + TLS 1.2

あるWEBサイトで、最新の FireFox でSSLの警告が出るようになった。

SSL警告

SSLは Let's Encryptで、何か更新処理を誤ったのだろうかと思ったのだけれど、他のブラウザ(Internet Explorer 11、Edge、Google Crome)では警告は出ておらず、FireFoxのみで警告が出ている。スマホでも同様にFireFoxでは警告が表示される。
この警告が出るのは、企業のサイトでは、ちょっとマズい感じ。

この警告がどうして出るのかいろいろ調べてみると、証明書そのものも問題ではなく、プロトコルの問題のようだ。
どうやら、各ブラウザが2020年に TLS 1.0、TLS 1.1 での接続ができなくなるように動作が変更されるようなので、FireFoxは、その事前警告を出しているようだ。

TLS 1.0 で接続されている

このWEBサイトはレンタルサーバで、OSは CentOS 5.9。
root権限が貰えているサーバであるけれど、テスト環境があるわけではないので、様々アップデートをかけるのは少々リスクが大きい。なんとかWEBサーバのみに影響範囲を抑える形で対処したい。

いろいろ悩んで、以下の方法で対処する事にした。

① 最新のopensslをユーザ領域に手動でインストールする。
② Apacheの起動スクリプトを修正し、上記(1)でインストールしたopensslをロードさせるようにする。

それでは、トライしてみる。

(1).opensslを手動でインストールする。

$ cd openssl-1.0.2s
$ ./config shared enable-ssl2 enable-ssl3 --prefix=/*****/local
$ make
$ make install

稼働しているApacheは、古いバージョンのライブラリをロードする様になっている。
Apacheを再コンパイルするなどすると影響が大きいので、インストールしたライブラリのバージョンを偽装する事にする。

# cd /*****/local/lib
# ln -s libssl.so.1.0.0 libssl.so.6
# ln -s libcrypto.so.1.0.0 libcrypto.so.6

(2).Apacheが上記(1)でインストールしたライブラリを正しくロードするか、依存関係を確認してみる。

まず、通常の起動。
/usr/lib 配下のライブラリがロードされる。

# ldd /usr/sbin/httpd | grep libssl
libssl.so.6 => /lib/libssl.so.6 (0xb7b04000)

次に、上記(1)でインストールしたライブラリをロードさせての起動。
上記(1)でインストールしたライブラリがロードされた。

# LD_LIBRARY_PATH=/*****/local/lib ldd /usr/sbin/httpd | grep libssl
libssl.so.6 => /*****/local/lib/libssl.so.6 (0xb7a8d000)

よし、いけそうだ。

(3).Apacheの起動スクリプトを修正する。

# cd /etc/init.d
# vi httpd

Apacheの起動部分に、LD_LIBRARY_PATHでopensslのパスを挿入する。
これにより、上記(1)でインストールしたライブラリは、Apacheに限定して使用される。

LANG=$HTTPD_LANG LD_LIBRARY_PATH=/*****/local/lib daemon --pidfile=${pidfile} $httpd $OPTIONS

(4).Apacheを再起動する。

# /etc/init.d/httpd restart

が、残念ながら、phpのモジュールのロードでエラーが発生してしまった。

# /etc/init.d/httpd restart
httpd を停止中: [ OK ]
httpd を停止中: [失敗]
httpd を起動中: httpd: Syntax error on line 210 of /etc/httpd/conf/httpd.conf: Syntax error on line 6 of /etc/httpd/conf.d/php.conf: Cannot load /etc/httpd/modules/libphp5.so into server: /etc/httpd/modules/libphp5.so: undefined symbol: EVP_md2
[失敗]
#

がんばってphpの再インストールもトライしようかと思ったけれど、このWEBサイトではphpは使用していないので、phpのサービスを停止する事で対処する事にした。

(5).サーバのコントロール・パネルでphpのサービスを停止する。

phpを停止

(6).再びApacheを再起動する。

# /etc/init.d/httpd restart
httpd を停止中: [ OK ]
httpd を起動中: [ OK ]
#

成功した!

(7).正常な鍵マークが復活!

正常な鍵マークが復活!

無事、TLS 1.2 で通信された。

TLS 1.2 で接続された

これでよし!

車のランプをLED化(その9)

このエピソードの続き。

車のランプをLED化
車のランプをLED化(その2)
車のランプをLED化(その3)
車のランプをLED化(その4)
車のランプをLED化(その5)
車のランプをLED化(その6)
車のランプをLED化(その7)
車のランプをLED化(その8)

今回は、ヘッドライトのハイビームをLED化する。

ハイビームをLED化

愛車カローラフィールダーのハイビームは「HB3(9005)」と呼ばれるタイプの電球。

購入したLED電球はこちら。
Aliexpressで購入し、2個セットで7.11ドル(送料込み)。バルブ1個あたりの金額は、わずか360円くらい。激安だ。
あまりにも安いので、正直怖いのだけれど、今のところ、Aliexpressから購入したLEDで大きなハズレはないので、とりあえずこれで行く。

購入したLED電球 購入したLED電球

ちなみに、別の愛車 HONDA NC750S のヘッドライトは既にLED化しているが、こちらもAliexpressで購入したLED電球への交換だが、約半年が経過して、今のところ問題なく使用できている。

左が元々付いていたHB3電球、右が購入したLED電球。

HB4電球とLED電球

さて、交換。
ボンネットを開け、ハイビームのランプのコネクタを探す。

ハイビームのランプのコネクタを探す

反時計周りに120度回してランプを取り外す。

ランプを取り外す

LED電球に交換する。

ED電球に交換する

取り付ける前に点灯テストをする。OK。

点灯テストをする

ハイビームを点灯してみる。
左がLED電球、右が従来の電球。
明るさの差はそう感じないけれど、白く発色する分、明るい気がする。

ハイビームを点灯してみる(LED電球) ハイビームを点灯してみる(従来の電球)

壁に光を当てて、発光状態を確認してみる。
まず、ロービーム。

ロービーム

次にハイビーム。
左がLED電球、右が従来の電球。

ハイビーム(LED電球) ハイビーム(従来の電球)

よし、バッチリでしょう。

取り外したHB3電球は、梱包して保管しておく。

梱包して保管しておく

■2019/05/04追記

ランプを交換した際に、ランプの近くにあった吸気ダクトを固定していたクリップを破損させてしまい、吸気ダクトが宙ぶらりんになってしまっている事に気付いた。

クリップを破損

宙ぶらりんのままだと、走行中に、振動などでフレームなどにぶつかって砕けるなどすると、エンジンの駆動部分に巻き込んだりするといけないので固定する必要がある。
普通にクリップを購入するとか、たとえば100円ショップなどで結束バンドを購入してきて留めればいいのだけれど...

そこはビンボー人ずんべ、手元にあるもので固定をトライしてみる。
例によってがらくた箱をひっくり返して探してみると...
あった! 紐!
これは、リュックサックか何かを破棄する時に、取り外しておいたもの。

紐

これで縛って吸気ダクトを固定する。

吸気ダクトを固定

とりあえず、これでヨシ。

■2019/07/14追記

車に積んだままになっている工具箱を整理していたら、クリップが発掘された。(^^;

クリップを発掘

いつ購入したのか、まったく記憶にないのだけれど、おそらく25年くらい前、トレノ(ただしAE85)に乗っていた頃に買ったものだろうな。

と、言う事で、紐は取り外し、クリップで留め直した。

クリップで留め直した

ちゃんちゃん。

一連記事:

広告

まとめページ

取得した資格
登った山

広告

サイト内検索

WordPress

最近のコメント

広告

RSS

RSS 記事
RSS コメント
Server offered by
有限会社パテンティックソフトウェア
Profile for zunbe