2016年6月12日日曜日

Raspberry Pi Jessie 起動時の高速化

はじめに、下記の内容はRaspberry Pi ZERO、2016-05-27-raspbian-jessie-lite.imgで

実行した内容です。(^^)

サービスを止めた後

wheezyの時は、いろいろなサービスが起ち上げ時に起動されていて、

僕の用途ではパフォーマンスを少しでもよくしたいので、それらを止める必要があった。

Debianもversion7 から、Version8のJessieに変わった。

僕にとって、一番大きな変更点は、initシステムがsystemdに変わった事。

もともと、ArchLinuxを技術選択していたので、systemdは知っていたのだけど

長年使っている、inittab, rc.local系の方が馴染みが深くちょっと戸惑っている。

ただ、システム的に考えるなら、init系でシェルで自由に書くよりは、

スクリプト化して抽象度と汎用性を高める方が良いとは思う。

ということで、jessieを使う以上、やはり起動時の高速化が必要なわけで、

そのチャレンジ。。。

まず、何もしない状態では、

$ systemctl | grep running とすると、、、

avahi-daemon.service    loaded active running   Avahi mDNS/DNS-SD Stack
cron.service  loaded active running   Regular background program processing daemon
dbus.service   loaded active running   D-Bus System Message Bus
dhcpcd.service   loaded active running   dhcpcd on all interfaces
getty@tty1.service  loaded active running   Getty on tty1
ntp.service   loaded active running   LSB: Start NTP daemon
rsyslog.service  loaded active running   System Logging Service
ssh.service   loaded active running   OpenBSD Secure Shell server
systemd-journald.service  loaded active running   Journal Service
systemd-logind.service  loaded active running   Login Service
systemd-udevd.service  loaded active running   udev Kernel Device Manager
triggerhappy.service    loaded active running   LSB: triggerhappy hotkey daemon
avahi-daemon.socket   loaded active running   Avahi mDNS/DNS-SD Stack Activation Socket
dbus.socket    loaded active running   D-Bus System Message Bus Socket
syslog.socket   loaded active running   Syslog Socket
systemd-journald-dev-log.socket       loaded active running   Journal Socket (/dev/log)
systemd-journald.socket          loaded active running   Journal Socket
systemd-udevd-control.socket     loaded active running   udev Control Socket
systemd-udevd-kernel.socket     loaded active running   udev Kernel Socket

以外にも、起動されてるモノが少ない。

自分の用途で不要なのは、以下の2つ
avashi ホスト名で検索するためのサービス
triggerhappy キーボードのショートカットキーを使うためのサービス
       raspi-configで使っているという説明もあったが特に影響無いみたい

dbus Wheezyの時は、X11が使ってるだけだったので削除できたが、systemdが使用

ということで、
$ sudo systemctl disable avahi-daemon
$ sudo systemctl disable triggerhappy

メモリーの状況は、
停止前

$ free
             total       used       free     shared    buffers     cached
Mem:        380152      74400     305752       4480       7360      39228
-/+ buffers/cache:      27812     352340
Swap:       102396          0     102396

             total       used       free     shared    buffers     cached

停止後
$free
             total       used       free     shared    buffers     cached
Mem:        380152     106872     273280       4472      10888      64684
-/+ buffers/cache:      31300     348852

Swap:       102396          0     102396

本当は、起動時に、いろいろもたもたする可能性があるntpも止めたいけど、

systemdのスクリプトを書くのが面倒なので、対処法

$ sudo vi /etc/ntp.conf

#server 0.debian.pool.ntp.org iburst
#server 1.debian.pool.ntp.org iburst
#server 2.debian.pool.ntp.org iburst
#server 3.debian.pool.ntp.org iburst
pool ntp.nict.jp iburst

で、ちゃんとみているか?

$ ntpq -p
     remote           refid      st t when poll reach   delay   offset  jitter
=====================================================
+ntp-b3.nict.go. .NICT.           1 u    1   64    1   14.464    0.508   0.127
+ntp-b2.nict.go. .NICT.           1 u    1   64    1   14.089    0.250   0.357
 ntp-a2.nict.go. .STEP.          16 u   44   64    0    0.000    0.000   0.000
*ntp-a3.nict.go. .NICT.           1 u   30   64    1   13.623    0.428   1.628
 ntp-a3.nict.go. .STEP.          16 -    -   64    0    0.000    0.000   0.000
 ntp-a2.nict.go. .STEP.          16 -    -   64    0    0.000    0.000   0.000

OKです。

とりあえず、Peace !

0 件のコメント:

コメントを投稿