Raspberry Pi 2 Model B

前から触りたかったRaspberry Pi をやっとぽちりました!

 

R8326274-01

R8326274-06

ケースは、これがいいかなと。

R8193646-01 R8193646-02 R8193646-03

休み明けにしかいじれないように、土曜日にRSさんへ発注したので来るのはGW明けです。前、MINIXいじってて、FWを書き換え失敗して置物になってしまったので、今度の Raspberry Pi 2 はしっかり遊びたいです。GWは、ESP8266 ESP-12と、FDDプロッターなどでじっくり遊びます!

 

そのほか、4月分の素材もAliexpress へ発注済み。いろいろぽちったので、追って紹介。まだお仕事なのよね。

これのメインは、Windows10をとりあえず入れてみようかと思っています。3日ほど前にリリースされたのを開発MLで知って、これはたのしそうかもと。

 

ダウンロード中!

スクリーンショット 2015-05-02 1.07.36

pi2 でLED

我が家にも、PI2 が来ました。当初、GW明けにRSさんに発注しておいたのですが、忙しくて荷物を取りにいく暇が無くてほっておいたら、返品扱いになってしまいました。ううむ、、、

 

で、もう一度頼むのも気が引けたので送料などを考えると、AliExpress で頼んだほうが送料分だけ安いってこともありそっち経由でゲットしました。ケースは、RSさんからゲットしたものです。

写真 1

パッケージは、こんな感じです。element14.com のパッケージのようですね。

写真 2

気に入ったケースに収めるとこんな感じです。ふたははめ込み式で、ケーブルの分だけすきまがあるので、以下のように出せます。

写真 3

GPIO Pinの配列は、以下の表を見ました。01 pin は写真でいうと、左下の右側になります。

GPIO_Pi2

コードは、python でrpi.GPIO というライブラリを利用しました。

#!/usr/bin/env python
import RPi.GPIO as GPIO
import time
GPIO.setmode(GPIO.BOARD)
GPIO.setup(11, GPIO.OUT)
while True:
    GPIO.output(11, True)
    time.sleep(2)
    GPIO.output(11, False)
    time.sleep(2)

よりわかりやすい説明は、黒猫のデルタさんのBlog を参考にしました。

写真 4

コード実行中、以下のような感じで警告がでているようです。

junkhack@raspberrypi:~/gpio$ sudo python gpio11.py
gpio11.py:5: RuntimeWarning: This channel is already in use, continuing anyway.  Use GPIO.setwarnings(False) to disable warnings.
  GPIO.setup(11, GPIO.OUT)

 

どうやら、GPIO.cleanup() しないと、CTL + C でブレイクして再度実行すると上記のように出てしまうようです。プログラムを終了後もGPIO Pinから出力されるので、try で CTL + C を受けて処理するとよいようです。

#!/usr/bin/env python
import RPi.GPIO as GPIO
import time
GPIO.setmode(GPIO.BOARD)
GPIO.setup(11, GPIO.OUT)
GPIO.setwarnings(False)
try:
    while True:
        GPIO.output(11, True)
        time.sleep(2)
        GPIO.output(11, False)
        time.sleep(2)
except KeyboardInterrupt:
        GPIO.cleanup()

 

なるほどですね。テスタでは、True は3.3v 出ていました。

Pi2 で LED 制御が出来ました。arduino や ESP8266 などど連携すると面白そうですね。

Pi2 に Fedora22

RedHat 系のほうが仕事柄、コマンドが慣れているのでRASPBIAN より、Fedora がいいなぁと思って、入らないのかなと調べていたら、どうやらいけるようなので試してみました。以下に、Pi2 でブートするFedora22 のイメージを作る手順をメモしておきます。

 

準備するもの

・ネットにつながる、ubuntu OS (バーチャルボックス)

これは、以下のスクリプトを動作させてimg を作るためです。

Fedora Image Builder for Raspberry Pi 2

xzdec , git , partx は必要なようです。

※入ってなかったら、apt-get install 入れるパッケージ で入れてね。

・Fedora の ARM 用にビルドされたイメージのURL

  http://ftp.iij.ad.jp/pub/linux/fedora/releases/22/Images/armhfp/ 以下にあります

国内の近場だと自分の場合は、IIJ になるので上記にしました。

いろいろあるけども、とりあえずFedora-Minimal-armhfp-22-3-sda.raw.xz にしてみました。

 

▼Step 1

ubuntu OS をバーチャルボックスへインストール。必要な上記のソフトウェアを入れる。

自分は、手元のiso 保管庫にあった ubuntu 12.04 LTS にしました。14 でもお好みで。

 

▼Step 2

以下な感じで、img を作るスクリプトをgit からコピー

junkhack@ubu:~$ mkdir raspi2
junkhack@ubu:~$ cd raspi2/

junkhack@ubu:~/raspi2$ git clone https://github.com/spartacus06/rpi2-fedora-image-builder.git
Cloning into ‘rpi2-fedora-image-builder’…
remote: Counting objects: 80, done.
remote: Total 80 (delta 0), reused 0 (delta 0), pack-reused 80
Unpacking objects: 100% (80/80), done.
junkhack@ubu:~/raspi2$

以下のようにローカルに作成されます。git 便利ですね。

junkhack@ubu:~/raspi2$ ll
合計 12
drwxrwxr-x 3 junkhack junkhack 4096  7月  2 22:45 ./
drwxr-xr-x 4 junkhack junkhack 4096  7月  2 22:43 ../
drwxr-xr-x 5 junkhack junkhack 4096  7月  2 22:45 rpi2-fedora-image-builder/
junkhack@ubu:~/raspi2$
junkhack@ubu:~/raspi2$ cd rpi2-fedora-image-builder/
junkhack@ubu:~/raspi2/rpi2-fedora-image-builder$ ll
合計 44
drwxr-xr-x 5 junkhack junkhack 4096  7月  2 22:45 ./
drwxrwxr-x 3 junkhack junkhack 4096  7月  2 22:45 ../
drwxrwxr-x 8 junkhack junkhack 4096  7月  2 22:45 .git/
-rw-rw-r– 1 junkhack junkhack   54  7月  2 22:45 .gitignore
-rw-rw-r– 1 junkhack junkhack 1108  7月  2 22:45 LICENSE
-rw-rw-r– 1 junkhack junkhack 2507  7月  2 22:45 README.md
-rwxrwxr-x 1 junkhack junkhack   69  7月  2 22:45 clean.sh*
-rwxrwxr-x 1 junkhack junkhack 3533  7月  2 22:45 mkimage.sh*
drwxrwxr-x 2 junkhack junkhack 4096  7月  2 22:45 sample-resources/
drwxrwxr-x 4 junkhack junkhack 4096  7月  2 22:45 scripts/
-rw-rw-r– 1 junkhack junkhack  161  7月  2 22:45 settings.conf.example
junkhack@ubu:~/raspi2/rpi2-fedora-image-builder$ cp settings.conf.example settings.conf

ツリー構造はこんな感じです。

junkhack@ubu:~/raspi2/rpi2-fedora-image-builder$ tree ./
./
├── LICENSE
├── README.md
├── clean.sh
├── mkimage.sh
├── sample-resources
│   ├── config.txt
│   ├── fbturbo_drv.so
│   └── xorg.conf
├── scripts
│   ├── boot
│   │   ├── 10_firmware.sh
│   │   └── 20_config.sh
│   └── root
│       ├── 10_modules.sh
│       ├── 20_fstab.sh
│       └── 30_fbturbo.sh
├── settings.conf
└── settings.conf.example

4 directories, 14 files

 

設定ファイルをコピーして、中を以下のように書き換えます。

IMAGEURL="http://ftp.iij.ad.jp/pub/linux/fedora/releases/22/Images/armhfp/Fedora-Minimal-armhfp-22-3-sda.raw.xz”
# size in MB
BOOTSIZE=200
ROOTSIZE=3600
COMPRESS=0

 

あとはスクリプトを実行。

junkhack@ubu:~/raspi2/rpi2-fedora-image-builder$ ./mkimage.sh

Using settings.conf

BOOTSIZE is 200 MB

ROOTSIZE is 3600 MB

IMAGEFILE is Fedora-Minimal-armhfp-22-3-sda.raw

Downloading image…

::略

HTTP による接続要求を送信しました、応答を待っています… 200 OK

長さ: 301285980 (287M) [application/x-xz]

`Fedora-Minimal-armhfp-22-3-sda.raw.xz’ に保存中

100%[===========================================================================================================>] 301,285,980  107K/s   時間 31m 46s

2015-07-02 23:20:52 (154 KB/s) – `Fedora-Minimal-armhfp-22-3-sda.raw.xz’ へ保存完了 [301285980/301285980]

Extracting image…

Extracting rootfs…

Creating boot partition…

Mounting boot filesystem…

しばらくすると、以下のように sudo のパスワード聞いてきたり(設定によりますが)しますので、

 

[sudo] password for junkhack: パスワードいれてね。

 

まだ続きがあるようです。

 

Calling boot scripts…

scripts/boot/10_firmware.sh

Cloning firmware repo…

Cloning into ‘firmware’…

remote: Counting objects: 8953, done.

remote: Compressing objects: 100% (4902/4902), done.

Receiving objects:   0% (60/8953), 11.10 MiB | 173 KiB/s

 

眠いのでこのままほっておきます。

 

[sudo] password for junkhack: パスワードいれてね。

scripts/boot/20_config.sh

Unmounting boot filesystem…

Preparing root partition…

resize2fs 1.42 (29-Nov-2011)

Mounting root filesystem…

Calling root scripts…

scripts/root/10_modules.sh

Copying kernel modules…

scripts/root/20_fstab.sh

Creating fstab…

scripts/root/30_fbturbo.sh

Unmounting root filesystem…

Creating image…

警告: 管理者権限がありません。パーミッションに注意してください。

警告: 管理者権限がありません。パーミッションに注意してください。

警告: 管理者権限がありません。パーミッションに注意してください。

Fedora-Minimal-armhfp-22-3-sda.raw.img created successfully.

junkhack@ubu:~/ダウンロード/rpi2-fedora-image-builder-master$

 

Fedora-Minimal-armhfp-22-3-sda.raw.img があれば成功したようです。

 

▼Step 3

img を SD Card へ書き込み。

osx の場合は、以下のように書き込みます

 

$ sudo dd bs=1m if="./Fedora-Minimal-armhfp-22-3-sda.raw.img" of="/dev/rdisk3"★sdcard のデバイス

Password:

省略。急激な眠気がきたので、本日の作業終了。お楽しみは明日に取っておきます。

pi2でFedora22

SDに書き込みが終わって、Pi2 でブート。無事に起動してくれました。が、しかし、、、

写真 3

 

、、、、悪戦苦闘すること、1時間、、、、うキーですね。

 

写真はありませんが、最初ウィザードみたいなのがあって、root のパスワードやユーザ追加、タイムゾーンなどの設定などが出来るのですが、それをやってもログインできず。

 

むかついたので、SD を 違うLinux でマウントさせ shadow や sudo設定や、passwd 、ホームディレクトリとbash設定をして無事にログインできました。この初期に出るウィザードがうまく動作していない模様。

 

写真 1

で、あとから気が付いたのですが、kernel が4.0,7 ですと? Fedora22 って、この間リリースされたやつですか。yum が廃止されdnf に変わってしまいました。うーん、、、、fedora21 にするべきですかね。

写真 2 

 

とりあえず、リモートから ssh でのログインも出来たので少し遊んで様子を見て、こりゃだめだと思えば、Fedora21 のkernel 3系にします。

pi2 fedora22 その後

[root@localhost ~]# which dnf
-bash: which: コマンドが見つかりません
[root@localhost ~]# 

 

なんですと!

Minimal なだけに368 パッケージしか入っていません。dnf 使っていれますが、どうやら yum の部分を dnl にすればいいようです。とりあえず、入れてみます。

[root@localhost ~]# dnf install which
Last metadata expiration check performed 0:15:44 ago on Fri Jul  3 09:14:17 2015.
Dependencies resolved.
=====================================================================================================================================================
 Package                          アーキテクチャ                     バージョン                              リポジトリー                       容量
=====================================================================================================================================================
インストールしています:
 which                            armv7hl                            2.20-10.fc22                            fedora                             44 k

トランザクションの要約
=====================================================================================================================================================
インストール  1 Package

総ダウンロード容量: 44 k
インストール済み容量: 70 k
これでいいですか? [y/N]y
パッケージをダウンロードしています:
which-2.20-10.fc22.armv7hl.rpm                                                                                        37 kB/s |  44 kB     00:01    
-----------------------------------------------------------------------------------------------------------------------------------------------------
合計                                                                                                                 8.0 kB/s |  44 kB     00:05     
Running transaction check
Transaction check succeeded.
Running transaction test
Transaction test succeeded.
Running transaction
  インストールしています: which-2.20-10.fc22.armv7hl                                                                                             1/1 
  Verifying             : which-2.20-10.fc22.armv7hl                                                                                             1/1 

インストール:
  which.armv7hl 2.20-10.fc22                                                                                                                         

完了しました!
[root@localhost ~]#

 

さてと、楽しみながら触りますか。ちょっと、蒸し暑いのでお風呂入ってきますか。すっきりしてやりますぞ。

tar も gcc も入っていないので、まずはあれこれ作業しながらないものを入れていきます。

 

とりあえず、UnixBench。ラズベリアンよりも遅い感じですかね?

========================================================================
   BYTE UNIX Benchmarks (Version 5.1.3)

   System: localhost.localdomain: GNU/Linux
   OS: GNU/Linux -- 4.0.7-v7+ -- #801 SMP PREEMPT Tue Jun 30 18:38:23 BST 2015
   Machine: armv7l (armv7l)
   Language: en_US.utf8 (charmap="UTF-8", collate="UTF-8")
   CPU 0: ARMv7 Processor rev 5 (v7l) (0.0 bogomips)
          
   CPU 1: ARMv7 Processor rev 5 (v7l) (0.0 bogomips)
          
   CPU 2: ARMv7 Processor rev 5 (v7l) (0.0 bogomips)
          
   CPU 3: ARMv7 Processor rev 5 (v7l) (0.0 bogomips)
          
   09:55:43 up 58 min,  1 user,  load average: 0.35, 0.27, 0.20; runlevel 3

------------------------------------------------------------------------
Benchmark Run: 金  7月 03 2015 09:55:43 - 10:23:51
4 CPUs in system; running 1 parallel copy of tests

Dhrystone 2 using register variables        2385350.1 lps   (10.0 s, 7 samples)
Double-Precision Whetstone                      364.8 MWIPS (9.9 s, 7 samples)
Execl Throughput                                362.2 lps   (29.8 s, 2 samples)
File Copy 1024 bufsize 2000 maxblocks         44168.6 KBps  (30.0 s, 2 samples)
File Copy 256 bufsize 500 maxblocks           13376.0 KBps  (30.0 s, 2 samples)
File Copy 4096 bufsize 8000 maxblocks        129949.5 KBps  (30.0 s, 2 samples)
Pipe Throughput                              121003.4 lps   (10.0 s, 7 samples)
Pipe-based Context Switching                  18406.2 lps   (10.0 s, 7 samples)
Process Creation                                797.5 lps   (30.0 s, 2 samples)
Shell Scripts (1 concurrent)                    573.4 lpm   (60.1 s, 2 samples)
Shell Scripts (8 concurrent)                    164.2 lpm   (60.3 s, 2 samples)
System Call Overhead                         274094.8 lps   (10.0 s, 7 samples)

System Benchmarks Index Values               BASELINE       RESULT    INDEX
Dhrystone 2 using register variables         116700.0    2385350.1    204.4
Double-Precision Whetstone                       55.0        364.8     66.3
Execl Throughput                                 43.0        362.2     84.2
File Copy 1024 bufsize 2000 maxblocks          3960.0      44168.6    111.5
File Copy 256 bufsize 500 maxblocks            1655.0      13376.0     80.8
File Copy 4096 bufsize 8000 maxblocks          5800.0     129949.5    224.1
Pipe Throughput                               12440.0     121003.4     97.3
Pipe-based Context Switching                   4000.0      18406.2     46.0
Process Creation                                126.0        797.5     63.3
Shell Scripts (1 concurrent)                     42.4        573.4    135.2
Shell Scripts (8 concurrent)                      6.0        164.2    273.7
System Call Overhead                          15000.0     274094.8    182.7
                                                                   ========
System Benchmarks Index Score                                         113.2

------------------------------------------------------------------------
Benchmark Run: 金  7月 03 2015 10:23:51 - 10:52:09
4 CPUs in system; running 4 parallel copies of tests

Dhrystone 2 using register variables        9503183.1 lps   (10.0 s, 7 samples)
Double-Precision Whetstone                     1466.9 MWIPS (10.0 s, 7 samples)
Execl Throughput                                970.2 lps   (29.9 s, 2 samples)
File Copy 1024 bufsize 2000 maxblocks         70550.9 KBps  (30.0 s, 2 samples)
File Copy 256 bufsize 500 maxblocks           20414.5 KBps  (30.0 s, 2 samples)
File Copy 4096 bufsize 8000 maxblocks        205565.3 KBps  (30.0 s, 2 samples)
Pipe Throughput                              479922.4 lps   (10.0 s, 7 samples)
Pipe-based Context Switching                  67560.2 lps   (10.0 s, 7 samples)
Process Creation                               1860.7 lps   (30.0 s, 2 samples)
Shell Scripts (1 concurrent)                   1287.2 lpm   (60.1 s, 2 samples)
Shell Scripts (8 concurrent)                    175.5 lpm   (61.0 s, 2 samples)
System Call Overhead                        1064369.7 lps   (10.0 s, 7 samples)

System Benchmarks Index Values               BASELINE       RESULT    INDEX
Dhrystone 2 using register variables         116700.0    9503183.1    814.3
Double-Precision Whetstone                       55.0       1466.9    266.7
Execl Throughput                                 43.0        970.2    225.6
File Copy 1024 bufsize 2000 maxblocks          3960.0      70550.9    178.2
File Copy 256 bufsize 500 maxblocks            1655.0      20414.5    123.4
File Copy 4096 bufsize 8000 maxblocks          5800.0     205565.3    354.4
Pipe Throughput                               12440.0     479922.4    385.8
Pipe-based Context Switching                   4000.0      67560.2    168.9
Process Creation                                126.0       1860.7    147.7
Shell Scripts (1 concurrent)                     42.4       1287.2    303.6
Shell Scripts (8 concurrent)                      6.0        175.5    292.6
System Call Overhead                          15000.0    1064369.7    709.6
                                                                   ========
System Benchmarks Index Score                                         279.9

 

もう少し遊んでみます。

 

[root@localhost UnixBench]# sysctl -a
dev.scsi.logging_level = 0
fs.aio-max-nr = 65536
fs.aio-nr = 0
fs.binfmt_misc.status = enabled
fs.dentry-state = 97722    92070    45    0    0    0
fs.dir-notify-enable = 1
fs.epoll.max_user_watches = 334671
fs.file-max = 93880
fs.file-nr = 800    0    93880
fs.inode-nr = 18373    332
fs.inode-state = 18373    332    0    0    0    0    0
fs.inotify.max_queued_events = 16384
fs.inotify.max_user_instances = 128
fs.inotify.max_user_watches = 8192
fs.lease-break-time = 45
fs.leases-enable = 1
fs.mqueue.msg_default = 10
fs.mqueue.msg_max = 10
fs.mqueue.msgsize_default = 8192
fs.mqueue.msgsize_max = 8192
fs.mqueue.queues_max = 256
fs.nfs.idmap_cache_timeout = 6
fs.nfs.nfs_callback_tcpport = 0
fs.nfs.nfs_congestion_kb = 31104
fs.nfs.nfs_mountpoint_timeout = 500
fs.nfs.nlm_grace_period = 0
fs.nfs.nlm_tcpport = 0
fs.nfs.nlm_timeout = 10
fs.nfs.nlm_udpport = 0
fs.nfs.nsm_local_state = 0
fs.nfs.nsm_use_hostnames = 0
fs.nr_open = 1048576
fs.overflowgid = 65534
fs.overflowuid = 65534
fs.pipe-max-size = 1048576
fs.protected_hardlinks = 1
fs.protected_symlinks = 1
fs.quota.allocated_dquots = 0
fs.quota.cache_hits = 0
fs.quota.drops = 0
fs.quota.free_dquots = 0
fs.quota.lookups = 0
fs.quota.reads = 0
fs.quota.syncs = 1108
fs.quota.warnings = 1
fs.quota.writes = 0
fs.suid_dumpable = 0
fscache.object_max_active = 4
fscache.operation_max_active = 2
kernel.acct = 4    2    30
kernel.auto_msgmni = 0
kernel.cad_pid = 1
kernel.cap_last_cap = 37
kernel.core_pattern = |/usr/lib/systemd/systemd-coredump %p %u %g %s %t %e
kernel.core_pipe_limit = 0
kernel.core_uses_pid = 1
kernel.ctrl-alt-del = 0
kernel.dmesg_restrict = 0
kernel.domainname = (none)
kernel.ftrace_dump_on_oops = 0
kernel.ftrace_enabled = 1
kernel.hostname = localhost.localdomain
kernel.hotplug = 
kernel.hung_task_check_count = 32768
kernel.hung_task_panic = 0
kernel.hung_task_timeout_secs = 120
kernel.hung_task_warnings = 10
kernel.keys.gc_delay = 300
kernel.keys.maxbytes = 20000
kernel.keys.maxkeys = 200
kernel.keys.root_maxbytes = 25000000
kernel.keys.root_maxkeys = 1000000
kernel.kptr_restrict = 0
kernel.max_lock_depth = 1024
kernel.modprobe = /sbin/modprobe
kernel.modules_disabled = 0
kernel.msgmax = 8192
kernel.msgmnb = 16384
kernel.msgmni = 32000
kernel.ngroups_max = 65536
kernel.osrelease = 4.0.7-v7+
kernel.ostype = Linux
kernel.overflowgid = 65534
kernel.overflowuid = 65534
kernel.panic = 0
kernel.panic_on_oops = 0
kernel.panic_on_warn = 0
kernel.perf_cpu_time_max_percent = 25
kernel.perf_event_max_sample_rate = 100000
kernel.perf_event_mlock_kb = 516
kernel.perf_event_paranoid = 1
kernel.pid_max = 32768
kernel.poweroff_cmd = /sbin/poweroff
kernel.print-fatal-signals = 0
kernel.printk = 7    4    1    7
kernel.printk_delay = 0
kernel.printk_ratelimit = 5
kernel.printk_ratelimit_burst = 10
kernel.pty.max = 4096
kernel.pty.nr = 2
kernel.pty.reserve = 1024
kernel.random.boot_id = f7b46809-df60-44f9-b951-d19475845c6c
kernel.random.entropy_avail = 1283
kernel.random.poolsize = 4096
kernel.random.read_wakeup_threshold = 64
kernel.random.urandom_min_reseed_secs = 60
kernel.random.uuid = a430aadc-542a-4ae4-baf6-ea9e00d8c2f2
kernel.random.write_wakeup_threshold = 896
kernel.randomize_va_space = 2
kernel.real-root-dev = 0
kernel.sched_autogroup_enabled = 1
kernel.sched_child_runs_first = 0
kernel.sched_domain.cpu0.domain0.busy_factor = 32
kernel.sched_domain.cpu0.domain0.busy_idx = 2
kernel.sched_domain.cpu0.domain0.cache_nice_tries = 1
kernel.sched_domain.cpu0.domain0.flags = 4143
kernel.sched_domain.cpu0.domain0.forkexec_idx = 0
kernel.sched_domain.cpu0.domain0.idle_idx = 1
kernel.sched_domain.cpu0.domain0.imbalance_pct = 125
kernel.sched_domain.cpu0.domain0.max_interval = 8
kernel.sched_domain.cpu0.domain0.max_newidle_lb_cost = 27812
kernel.sched_domain.cpu0.domain0.min_interval = 4
kernel.sched_domain.cpu0.domain0.name = DIE
kernel.sched_domain.cpu0.domain0.newidle_idx = 0
kernel.sched_domain.cpu0.domain0.wake_idx = 0
kernel.sched_domain.cpu1.domain0.busy_factor = 32
kernel.sched_domain.cpu1.domain0.busy_idx = 2
kernel.sched_domain.cpu1.domain0.cache_nice_tries = 1
kernel.sched_domain.cpu1.domain0.flags = 4143
kernel.sched_domain.cpu1.domain0.forkexec_idx = 0
kernel.sched_domain.cpu1.domain0.idle_idx = 1
kernel.sched_domain.cpu1.domain0.imbalance_pct = 125
kernel.sched_domain.cpu1.domain0.max_interval = 8
kernel.sched_domain.cpu1.domain0.max_newidle_lb_cost = 49157
kernel.sched_domain.cpu1.domain0.min_interval = 4
kernel.sched_domain.cpu1.domain0.name = DIE
kernel.sched_domain.cpu1.domain0.newidle_idx = 0
kernel.sched_domain.cpu1.domain0.wake_idx = 0
kernel.sched_domain.cpu2.domain0.busy_factor = 32
kernel.sched_domain.cpu2.domain0.busy_idx = 2
kernel.sched_domain.cpu2.domain0.cache_nice_tries = 1
kernel.sched_domain.cpu2.domain0.flags = 4143
kernel.sched_domain.cpu2.domain0.forkexec_idx = 0
kernel.sched_domain.cpu2.domain0.idle_idx = 1
kernel.sched_domain.cpu2.domain0.imbalance_pct = 125
kernel.sched_domain.cpu2.domain0.max_interval = 8
kernel.sched_domain.cpu2.domain0.max_newidle_lb_cost = 24479
kernel.sched_domain.cpu2.domain0.min_interval = 4
kernel.sched_domain.cpu2.domain0.name = DIE
kernel.sched_domain.cpu2.domain0.newidle_idx = 0
kernel.sched_domain.cpu2.domain0.wake_idx = 0
kernel.sched_domain.cpu3.domain0.busy_factor = 32
kernel.sched_domain.cpu3.domain0.busy_idx = 2
kernel.sched_domain.cpu3.domain0.cache_nice_tries = 1
kernel.sched_domain.cpu3.domain0.flags = 4143
kernel.sched_domain.cpu3.domain0.forkexec_idx = 0
kernel.sched_domain.cpu3.domain0.idle_idx = 1
kernel.sched_domain.cpu3.domain0.imbalance_pct = 125
kernel.sched_domain.cpu3.domain0.max_interval = 8
kernel.sched_domain.cpu3.domain0.max_newidle_lb_cost = 67147
kernel.sched_domain.cpu3.domain0.min_interval = 4
kernel.sched_domain.cpu3.domain0.name = DIE
kernel.sched_domain.cpu3.domain0.newidle_idx = 0
kernel.sched_domain.cpu3.domain0.wake_idx = 0
kernel.sched_latency_ns = 18000000
kernel.sched_migration_cost_ns = 500000
kernel.sched_min_granularity_ns = 2250000
kernel.sched_nr_migrate = 32
kernel.sched_rr_timeslice_ms = 10
kernel.sched_rt_period_us = 1000000
kernel.sched_rt_runtime_us = 950000
kernel.sched_shares_window_ns = 10000000
kernel.sched_time_avg_ms = 1000
kernel.sched_tunable_scaling = 1
kernel.sched_wakeup_granularity_ns = 3000000
kernel.sem = 32000    1024000000    500    32000
kernel.shm_rmid_forced = 0
kernel.shmall = 268435456
kernel.shmmax = 4294967295
kernel.shmmni = 4096
kernel.stack_tracer_enabled = 0
kernel.sysctl_writes_strict = 0
kernel.sysrq = 16
kernel.tainted = 0
kernel.threads-max = 14682
kernel.timer_migration = 1
kernel.traceoff_on_warning = 0
kernel.tracepoint_printk = 0
kernel.usermodehelper.bset = 4294967295    63
kernel.usermodehelper.inheritable = 4294967295    63
kernel.version = #801 SMP PREEMPT Tue Jun 30 18:38:23 BST 2015
net.core.busy_poll = 0
net.core.busy_read = 0
net.core.default_qdisc = fq_codel
net.core.dev_weight = 64
net.core.flow_limit_cpu_bitmap = 0
net.core.flow_limit_table_len = 4096
net.core.message_burst = 10
net.core.message_cost = 5
net.core.netdev_budget = 300
net.core.netdev_max_backlog = 1000
net.core.netdev_rss_key = 00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00
net.core.netdev_tstamp_prequeue = 1
net.core.optmem_max = 10240
net.core.rmem_default = 163840
net.core.rmem_max = 163840
net.core.rps_sock_flow_entries = 0
net.core.somaxconn = 128
net.core.tstamp_allow_data = 1
net.core.warnings = 0
net.core.wmem_default = 163840
net.core.wmem_max = 163840
net.core.xfrm_acq_expires = 30
net.core.xfrm_aevent_etime = 10
net.core.xfrm_aevent_rseqth = 2
net.core.xfrm_larval_drop = 1
net.ipv4.conf.all.accept_local = 0
net.ipv4.conf.all.accept_redirects = 1
net.ipv4.conf.all.accept_source_route = 0
net.ipv4.conf.all.arp_accept = 0
net.ipv4.conf.all.arp_announce = 0
net.ipv4.conf.all.arp_filter = 0
net.ipv4.conf.all.arp_ignore = 0
net.ipv4.conf.all.arp_notify = 0
net.ipv4.conf.all.bootp_relay = 0
net.ipv4.conf.all.disable_policy = 0
net.ipv4.conf.all.disable_xfrm = 0
net.ipv4.conf.all.force_igmp_version = 0
net.ipv4.conf.all.forwarding = 0
net.ipv4.conf.all.igmpv2_unsolicited_report_interval = 10000
net.ipv4.conf.all.igmpv3_unsolicited_report_interval = 1000
net.ipv4.conf.all.log_martians = 0
net.ipv4.conf.all.mc_forwarding = 0
net.ipv4.conf.all.medium_id = 0
net.ipv4.conf.all.promote_secondaries = 1
net.ipv4.conf.all.proxy_arp = 0
net.ipv4.conf.all.proxy_arp_pvlan = 0
net.ipv4.conf.all.route_localnet = 0
net.ipv4.conf.all.rp_filter = 1
net.ipv4.conf.all.secure_redirects = 1
net.ipv4.conf.all.send_redirects = 1
net.ipv4.conf.all.shared_media = 1
net.ipv4.conf.all.src_valid_mark = 0
net.ipv4.conf.all.tag = 0
net.ipv4.conf.default.accept_local = 0
net.ipv4.conf.default.accept_redirects = 1
net.ipv4.conf.default.accept_source_route = 0
net.ipv4.conf.default.arp_accept = 0
net.ipv4.conf.default.arp_announce = 0
net.ipv4.conf.default.arp_filter = 0
net.ipv4.conf.default.arp_ignore = 0
net.ipv4.conf.default.arp_notify = 0
net.ipv4.conf.default.bootp_relay = 0
net.ipv4.conf.default.disable_policy = 0
net.ipv4.conf.default.disable_xfrm = 0
net.ipv4.conf.default.force_igmp_version = 0
net.ipv4.conf.default.forwarding = 0
net.ipv4.conf.default.igmpv2_unsolicited_report_interval = 10000
net.ipv4.conf.default.igmpv3_unsolicited_report_interval = 1000
net.ipv4.conf.default.log_martians = 0
net.ipv4.conf.default.mc_forwarding = 0
net.ipv4.conf.default.medium_id = 0
net.ipv4.conf.default.promote_secondaries = 1
net.ipv4.conf.default.proxy_arp = 0
net.ipv4.conf.default.proxy_arp_pvlan = 0
net.ipv4.conf.default.route_localnet = 0
net.ipv4.conf.default.rp_filter = 1
net.ipv4.conf.default.secure_redirects = 1
net.ipv4.conf.default.send_redirects = 1
net.ipv4.conf.default.shared_media = 1
net.ipv4.conf.default.src_valid_mark = 0
net.ipv4.conf.default.tag = 0
net.ipv4.conf.eth0.accept_local = 0
net.ipv4.conf.eth0.accept_redirects = 1
net.ipv4.conf.eth0.accept_source_route = 0
net.ipv4.conf.eth0.arp_accept = 0
net.ipv4.conf.eth0.arp_announce = 0
net.ipv4.conf.eth0.arp_filter = 0
net.ipv4.conf.eth0.arp_ignore = 0
net.ipv4.conf.eth0.arp_notify = 0
net.ipv4.conf.eth0.bootp_relay = 0
net.ipv4.conf.eth0.disable_policy = 0
net.ipv4.conf.eth0.disable_xfrm = 0
net.ipv4.conf.eth0.force_igmp_version = 0
net.ipv4.conf.eth0.forwarding = 0
net.ipv4.conf.eth0.igmpv2_unsolicited_report_interval = 10000
net.ipv4.conf.eth0.igmpv3_unsolicited_report_interval = 1000
net.ipv4.conf.eth0.log_martians = 0
net.ipv4.conf.eth0.mc_forwarding = 0
net.ipv4.conf.eth0.medium_id = 0
net.ipv4.conf.eth0.promote_secondaries = 0
net.ipv4.conf.eth0.proxy_arp = 0
net.ipv4.conf.eth0.proxy_arp_pvlan = 0
net.ipv4.conf.eth0.route_localnet = 0
net.ipv4.conf.eth0.rp_filter = 1
net.ipv4.conf.eth0.secure_redirects = 1
net.ipv4.conf.eth0.send_redirects = 1
net.ipv4.conf.eth0.shared_media = 1
net.ipv4.conf.eth0.src_valid_mark = 0
net.ipv4.conf.eth0.tag = 0
net.ipv4.conf.lo.accept_local = 0
net.ipv4.conf.lo.accept_redirects = 1
net.ipv4.conf.lo.accept_source_route = 1
net.ipv4.conf.lo.arp_accept = 0
net.ipv4.conf.lo.arp_announce = 0
net.ipv4.conf.lo.arp_filter = 0
net.ipv4.conf.lo.arp_ignore = 0
net.ipv4.conf.lo.arp_notify = 0
net.ipv4.conf.lo.bootp_relay = 0
net.ipv4.conf.lo.disable_policy = 1
net.ipv4.conf.lo.disable_xfrm = 1
net.ipv4.conf.lo.force_igmp_version = 0
net.ipv4.conf.lo.forwarding = 0
net.ipv4.conf.lo.igmpv2_unsolicited_report_interval = 10000
net.ipv4.conf.lo.igmpv3_unsolicited_report_interval = 1000
net.ipv4.conf.lo.log_martians = 0
net.ipv4.conf.lo.mc_forwarding = 0
net.ipv4.conf.lo.medium_id = 0
net.ipv4.conf.lo.promote_secondaries = 0
net.ipv4.conf.lo.proxy_arp = 0
net.ipv4.conf.lo.proxy_arp_pvlan = 0
net.ipv4.conf.lo.route_localnet = 0
net.ipv4.conf.lo.rp_filter = 0
net.ipv4.conf.lo.secure_redirects = 1
net.ipv4.conf.lo.send_redirects = 1
net.ipv4.conf.lo.shared_media = 1
net.ipv4.conf.lo.src_valid_mark = 0
net.ipv4.conf.lo.tag = 0
net.ipv4.fwmark_reflect = 0
net.ipv4.icmp_echo_ignore_all = 0
net.ipv4.icmp_echo_ignore_broadcasts = 1
net.ipv4.icmp_errors_use_inbound_ifaddr = 0
net.ipv4.icmp_ignore_bogus_error_responses = 1
net.ipv4.icmp_msgs_burst = 50
net.ipv4.icmp_msgs_per_sec = 1000
net.ipv4.icmp_ratelimit = 1000
net.ipv4.icmp_ratemask = 6168
net.ipv4.igmp_max_memberships = 20
net.ipv4.igmp_max_msf = 10
net.ipv4.igmp_qrv = 2
net.ipv4.inet_peer_maxttl = 600
net.ipv4.inet_peer_minttl = 120
net.ipv4.inet_peer_threshold = 65664
net.ipv4.ip_default_ttl = 64
net.ipv4.ip_dynaddr = 0
net.ipv4.ip_early_demux = 1
net.ipv4.ip_forward = 0
net.ipv4.ip_forward_use_pmtu = 0
net.ipv4.ip_local_port_range = 32768    61000
net.ipv4.ip_local_reserved_ports = 
net.ipv4.ip_no_pmtu_disc = 0
net.ipv4.ip_nonlocal_bind = 0
net.ipv4.ipfrag_high_thresh = 4194304
net.ipv4.ipfrag_low_thresh = 3145728
net.ipv4.ipfrag_max_dist = 64
net.ipv4.ipfrag_secret_interval = 0
net.ipv4.ipfrag_time = 30
net.ipv4.neigh.default.anycast_delay = 100
net.ipv4.neigh.default.app_solicit = 0
net.ipv4.neigh.default.base_reachable_time_ms = 30000
net.ipv4.neigh.default.delay_first_probe_time = 5
net.ipv4.neigh.default.gc_interval = 30
net.ipv4.neigh.default.gc_stale_time = 60
net.ipv4.neigh.default.gc_thresh1 = 128
net.ipv4.neigh.default.gc_thresh2 = 512
net.ipv4.neigh.default.gc_thresh3 = 1024
net.ipv4.neigh.default.locktime = 100
net.ipv4.neigh.default.mcast_solicit = 3
net.ipv4.neigh.default.proxy_delay = 80
net.ipv4.neigh.default.proxy_qlen = 64
net.ipv4.neigh.default.retrans_time_ms = 1000
net.ipv4.neigh.default.ucast_solicit = 3
net.ipv4.neigh.default.unres_qlen = 34
net.ipv4.neigh.default.unres_qlen_bytes = 65536
net.ipv4.neigh.eth0.anycast_delay = 100
net.ipv4.neigh.eth0.app_solicit = 0
net.ipv4.neigh.eth0.base_reachable_time_ms = 30000
net.ipv4.neigh.eth0.delay_first_probe_time = 5
net.ipv4.neigh.eth0.gc_stale_time = 60
net.ipv4.neigh.eth0.locktime = 100
net.ipv4.neigh.eth0.mcast_solicit = 3
net.ipv4.neigh.eth0.proxy_delay = 80
net.ipv4.neigh.eth0.proxy_qlen = 64
net.ipv4.neigh.eth0.retrans_time_ms = 1000
net.ipv4.neigh.eth0.ucast_solicit = 3
net.ipv4.neigh.eth0.unres_qlen = 34
net.ipv4.neigh.eth0.unres_qlen_bytes = 65536
net.ipv4.neigh.lo.anycast_delay = 100
net.ipv4.neigh.lo.app_solicit = 0
net.ipv4.neigh.lo.base_reachable_time_ms = 30000
net.ipv4.neigh.lo.delay_first_probe_time = 5
net.ipv4.neigh.lo.gc_stale_time = 60
net.ipv4.neigh.lo.locktime = 100
net.ipv4.neigh.lo.mcast_solicit = 3
net.ipv4.neigh.lo.proxy_delay = 80
net.ipv4.neigh.lo.proxy_qlen = 64
net.ipv4.neigh.lo.retrans_time_ms = 1000
net.ipv4.neigh.lo.ucast_solicit = 3
net.ipv4.neigh.lo.unres_qlen = 34
net.ipv4.neigh.lo.unres_qlen_bytes = 65536
net.ipv4.netfilter.ip_conntrack_buckets = 15360
net.ipv4.netfilter.ip_conntrack_checksum = 1
net.ipv4.netfilter.ip_conntrack_count = 2
net.ipv4.netfilter.ip_conntrack_generic_timeout = 600
net.ipv4.netfilter.ip_conntrack_icmp_timeout = 30
net.ipv4.netfilter.ip_conntrack_log_invalid = 0
net.ipv4.netfilter.ip_conntrack_max = 59264
net.ipv4.netfilter.ip_conntrack_tcp_be_liberal = 0
net.ipv4.netfilter.ip_conntrack_tcp_loose = 1
net.ipv4.netfilter.ip_conntrack_tcp_max_retrans = 3
net.ipv4.netfilter.ip_conntrack_tcp_timeout_close = 10
net.ipv4.netfilter.ip_conntrack_tcp_timeout_close_wait = 60
net.ipv4.netfilter.ip_conntrack_tcp_timeout_established = 432000
net.ipv4.netfilter.ip_conntrack_tcp_timeout_fin_wait = 120
net.ipv4.netfilter.ip_conntrack_tcp_timeout_last_ack = 30
net.ipv4.netfilter.ip_conntrack_tcp_timeout_max_retrans = 300
net.ipv4.netfilter.ip_conntrack_tcp_timeout_syn_recv = 60
net.ipv4.netfilter.ip_conntrack_tcp_timeout_syn_sent = 120
net.ipv4.netfilter.ip_conntrack_tcp_timeout_syn_sent2 = 120
net.ipv4.netfilter.ip_conntrack_tcp_timeout_time_wait = 120
net.ipv4.netfilter.ip_conntrack_udp_timeout = 30
net.ipv4.netfilter.ip_conntrack_udp_timeout_stream = 180
net.ipv4.ping_group_range = 1    0
net.ipv4.route.error_burst = 500
net.ipv4.route.error_cost = 100
net.ipv4.route.gc_elasticity = 8
net.ipv4.route.gc_interval = 60
net.ipv4.route.gc_min_interval = 0
net.ipv4.route.gc_min_interval_ms = 500
net.ipv4.route.gc_thresh = -1
net.ipv4.route.gc_timeout = 300
net.ipv4.route.max_size = 2147483647
net.ipv4.route.min_adv_mss = 256
net.ipv4.route.min_pmtu = 552
net.ipv4.route.mtu_expires = 600
net.ipv4.route.redirect_load = 2
net.ipv4.route.redirect_number = 9
net.ipv4.route.redirect_silence = 2048
net.ipv4.tcp_abort_on_overflow = 0
net.ipv4.tcp_adv_win_scale = 1
net.ipv4.tcp_allowed_congestion_control = cubic reno
net.ipv4.tcp_app_win = 31
net.ipv4.tcp_autocorking = 1
net.ipv4.tcp_available_congestion_control = cubic reno
net.ipv4.tcp_base_mss = 512
net.ipv4.tcp_challenge_ack_limit = 100
net.ipv4.tcp_congestion_control = cubic
net.ipv4.tcp_dsack = 1
net.ipv4.tcp_early_retrans = 3
net.ipv4.tcp_ecn = 2
net.ipv4.tcp_fack = 1
net.ipv4.tcp_fastopen = 1
net.ipv4.tcp_fastopen_key = 00000000-00000000-00000000-00000000
net.ipv4.tcp_fin_timeout = 60
net.ipv4.tcp_frto = 2
net.ipv4.tcp_fwmark_accept = 0
net.ipv4.tcp_invalid_ratelimit = 500
net.ipv4.tcp_keepalive_intvl = 75
net.ipv4.tcp_keepalive_probes = 9
net.ipv4.tcp_keepalive_time = 7200
net.ipv4.tcp_limit_output_bytes = 131072
net.ipv4.tcp_low_latency = 0
net.ipv4.tcp_max_orphans = 4096
net.ipv4.tcp_max_reordering = 300
net.ipv4.tcp_max_syn_backlog = 128
net.ipv4.tcp_max_tw_buckets = 4096
net.ipv4.tcp_mem = 22215    29620    44430
net.ipv4.tcp_min_tso_segs = 2
net.ipv4.tcp_moderate_rcvbuf = 1
net.ipv4.tcp_mtu_probing = 0
net.ipv4.tcp_no_metrics_save = 0
net.ipv4.tcp_notsent_lowat = -1
net.ipv4.tcp_orphan_retries = 0
net.ipv4.tcp_reordering = 3
net.ipv4.tcp_retrans_collapse = 1
net.ipv4.tcp_retries1 = 3
net.ipv4.tcp_retries2 = 15
net.ipv4.tcp_rfc1337 = 0
net.ipv4.tcp_rmem = 4096    87380    6291456
net.ipv4.tcp_sack = 1
net.ipv4.tcp_slow_start_after_idle = 1
net.ipv4.tcp_stdurg = 0
net.ipv4.tcp_syn_retries = 6
net.ipv4.tcp_synack_retries = 5
net.ipv4.tcp_syncookies = 1
net.ipv4.tcp_thin_dupack = 0
net.ipv4.tcp_thin_linear_timeouts = 0
net.ipv4.tcp_timestamps = 1
net.ipv4.tcp_tso_win_divisor = 3
net.ipv4.tcp_tw_recycle = 0
net.ipv4.tcp_tw_reuse = 0
net.ipv4.tcp_window_scaling = 1
net.ipv4.tcp_wmem = 4096    16384    4194304
net.ipv4.tcp_workaround_signed_windows = 0
net.ipv4.udp_mem = 22215    29620    44430
net.ipv4.udp_rmem_min = 4096
net.ipv4.udp_wmem_min = 4096
net.ipv4.xfrm4_gc_thresh = 32768
net.ipv6.anycast_src_echo_reply = 0
net.ipv6.auto_flowlabels = 0
net.ipv6.bindv6only = 0
net.ipv6.conf.all.accept_dad = 1
net.ipv6.conf.all.accept_ra = 1
net.ipv6.conf.all.accept_ra_defrtr = 1
net.ipv6.conf.all.accept_ra_from_local = 0
net.ipv6.conf.all.accept_ra_mtu = 1
net.ipv6.conf.all.accept_ra_pinfo = 1
net.ipv6.conf.all.accept_redirects = 1
net.ipv6.conf.all.accept_source_route = 0
net.ipv6.conf.all.autoconf = 1
net.ipv6.conf.all.dad_transmits = 1
net.ipv6.conf.all.disable_ipv6 = 0
net.ipv6.conf.all.force_mld_version = 0
net.ipv6.conf.all.force_tllao = 0
net.ipv6.conf.all.forwarding = 0
net.ipv6.conf.all.hop_limit = 64
net.ipv6.conf.all.max_addresses = 16
net.ipv6.conf.all.max_desync_factor = 600
net.ipv6.conf.all.mc_forwarding = 0
net.ipv6.conf.all.mldv1_unsolicited_report_interval = 10000
net.ipv6.conf.all.mldv2_unsolicited_report_interval = 1000
net.ipv6.conf.all.mtu = 1280
net.ipv6.conf.all.ndisc_notify = 0
net.ipv6.conf.all.proxy_ndp = 0
net.ipv6.conf.all.regen_max_retry = 3
net.ipv6.conf.all.router_solicitation_delay = 1
net.ipv6.conf.all.router_solicitation_interval = 4
net.ipv6.conf.all.router_solicitations = 3
net.ipv6.conf.all.suppress_frag_ndisc = 1
net.ipv6.conf.all.temp_prefered_lft = 86400
net.ipv6.conf.all.temp_valid_lft = 604800
net.ipv6.conf.all.use_tempaddr = 0
net.ipv6.conf.default.accept_dad = 1
net.ipv6.conf.default.accept_ra = 1
net.ipv6.conf.default.accept_ra_defrtr = 1
net.ipv6.conf.default.accept_ra_from_local = 0
net.ipv6.conf.default.accept_ra_mtu = 1
net.ipv6.conf.default.accept_ra_pinfo = 1
net.ipv6.conf.default.accept_redirects = 1
net.ipv6.conf.default.accept_source_route = 0
net.ipv6.conf.default.autoconf = 1
net.ipv6.conf.default.dad_transmits = 1
net.ipv6.conf.default.disable_ipv6 = 0
net.ipv6.conf.default.force_mld_version = 0
net.ipv6.conf.default.force_tllao = 0
net.ipv6.conf.default.forwarding = 0
net.ipv6.conf.default.hop_limit = 64
net.ipv6.conf.default.max_addresses = 16
net.ipv6.conf.default.max_desync_factor = 600
net.ipv6.conf.default.mc_forwarding = 0
net.ipv6.conf.default.mldv1_unsolicited_report_interval = 10000
net.ipv6.conf.default.mldv2_unsolicited_report_interval = 1000
net.ipv6.conf.default.mtu = 1280
net.ipv6.conf.default.ndisc_notify = 0
net.ipv6.conf.default.proxy_ndp = 0
net.ipv6.conf.default.regen_max_retry = 3
net.ipv6.conf.default.router_solicitation_delay = 1
net.ipv6.conf.default.router_solicitation_interval = 4
net.ipv6.conf.default.router_solicitations = 3
net.ipv6.conf.default.suppress_frag_ndisc = 1
net.ipv6.conf.default.temp_prefered_lft = 86400
net.ipv6.conf.default.temp_valid_lft = 604800
net.ipv6.conf.default.use_tempaddr = 0
net.ipv6.conf.eth0.accept_dad = 1
net.ipv6.conf.eth0.accept_ra = 1
net.ipv6.conf.eth0.accept_ra_defrtr = 0
net.ipv6.conf.eth0.accept_ra_from_local = 0
net.ipv6.conf.eth0.accept_ra_mtu = 1
net.ipv6.conf.eth0.accept_ra_pinfo = 0
net.ipv6.conf.eth0.accept_redirects = 1
net.ipv6.conf.eth0.accept_source_route = 0
net.ipv6.conf.eth0.autoconf = 1
net.ipv6.conf.eth0.dad_transmits = 1
net.ipv6.conf.eth0.disable_ipv6 = 0
net.ipv6.conf.eth0.force_mld_version = 0
net.ipv6.conf.eth0.force_tllao = 0
net.ipv6.conf.eth0.forwarding = 0
net.ipv6.conf.eth0.hop_limit = 64
net.ipv6.conf.eth0.max_addresses = 16
net.ipv6.conf.eth0.max_desync_factor = 600
net.ipv6.conf.eth0.mc_forwarding = 0
net.ipv6.conf.eth0.mldv1_unsolicited_report_interval = 10000
net.ipv6.conf.eth0.mldv2_unsolicited_report_interval = 1000
net.ipv6.conf.eth0.mtu = 1500
net.ipv6.conf.eth0.ndisc_notify = 0
net.ipv6.conf.eth0.proxy_ndp = 0
net.ipv6.conf.eth0.regen_max_retry = 3
net.ipv6.conf.eth0.router_solicitation_delay = 1
net.ipv6.conf.eth0.router_solicitation_interval = 4
net.ipv6.conf.eth0.router_solicitations = 3
net.ipv6.conf.eth0.suppress_frag_ndisc = 1
net.ipv6.conf.eth0.temp_prefered_lft = 86400
net.ipv6.conf.eth0.temp_valid_lft = 604800
net.ipv6.conf.eth0.use_tempaddr = 0
net.ipv6.conf.lo.accept_dad = -1
net.ipv6.conf.lo.accept_ra = 1
net.ipv6.conf.lo.accept_ra_defrtr = 1
net.ipv6.conf.lo.accept_ra_from_local = 0
net.ipv6.conf.lo.accept_ra_mtu = 1
net.ipv6.conf.lo.accept_ra_pinfo = 1
net.ipv6.conf.lo.accept_redirects = 1
net.ipv6.conf.lo.accept_source_route = 0
net.ipv6.conf.lo.autoconf = 1
net.ipv6.conf.lo.dad_transmits = 1
net.ipv6.conf.lo.disable_ipv6 = 0
net.ipv6.conf.lo.force_mld_version = 0
net.ipv6.conf.lo.force_tllao = 0
net.ipv6.conf.lo.forwarding = 0
net.ipv6.conf.lo.hop_limit = 64
net.ipv6.conf.lo.max_addresses = 16
net.ipv6.conf.lo.max_desync_factor = 600
net.ipv6.conf.lo.mc_forwarding = 0
net.ipv6.conf.lo.mldv1_unsolicited_report_interval = 10000
net.ipv6.conf.lo.mldv2_unsolicited_report_interval = 1000
net.ipv6.conf.lo.mtu = 65536
net.ipv6.conf.lo.ndisc_notify = 0
net.ipv6.conf.lo.proxy_ndp = 0
net.ipv6.conf.lo.regen_max_retry = 3
net.ipv6.conf.lo.router_solicitation_delay = 1
net.ipv6.conf.lo.router_solicitation_interval = 4
net.ipv6.conf.lo.router_solicitations = 3
net.ipv6.conf.lo.suppress_frag_ndisc = 1
net.ipv6.conf.lo.temp_prefered_lft = 86400
net.ipv6.conf.lo.temp_valid_lft = 604800
net.ipv6.conf.lo.use_tempaddr = -1
net.ipv6.flowlabel_consistency = 1
net.ipv6.fwmark_reflect = 0
net.ipv6.icmp.ratelimit = 1000
net.ipv6.ip6frag_high_thresh = 4194304
net.ipv6.ip6frag_low_thresh = 3145728
net.ipv6.ip6frag_secret_interval = 0
net.ipv6.ip6frag_time = 60
net.ipv6.mld_max_msf = 64
net.ipv6.mld_qrv = 2
net.ipv6.neigh.default.anycast_delay = 100
net.ipv6.neigh.default.app_solicit = 0
net.ipv6.neigh.default.base_reachable_time_ms = 30000
net.ipv6.neigh.default.delay_first_probe_time = 5
net.ipv6.neigh.default.gc_interval = 30
net.ipv6.neigh.default.gc_stale_time = 60
net.ipv6.neigh.default.gc_thresh1 = 128
net.ipv6.neigh.default.gc_thresh2 = 512
net.ipv6.neigh.default.gc_thresh3 = 1024
net.ipv6.neigh.default.locktime = 0
net.ipv6.neigh.default.mcast_solicit = 3
net.ipv6.neigh.default.proxy_delay = 80
net.ipv6.neigh.default.proxy_qlen = 64
net.ipv6.neigh.default.retrans_time_ms = 1000
net.ipv6.neigh.default.ucast_solicit = 3
net.ipv6.neigh.default.unres_qlen = 34
net.ipv6.neigh.default.unres_qlen_bytes = 65536
net.ipv6.neigh.eth0.anycast_delay = 100
net.ipv6.neigh.eth0.app_solicit = 0
net.ipv6.neigh.eth0.base_reachable_time_ms = 30000
net.ipv6.neigh.eth0.delay_first_probe_time = 5
net.ipv6.neigh.eth0.gc_stale_time = 60
net.ipv6.neigh.eth0.locktime = 0
net.ipv6.neigh.eth0.mcast_solicit = 3
net.ipv6.neigh.eth0.proxy_delay = 80
net.ipv6.neigh.eth0.proxy_qlen = 64
net.ipv6.neigh.eth0.retrans_time_ms = 1000
net.ipv6.neigh.eth0.ucast_solicit = 3
net.ipv6.neigh.eth0.unres_qlen = 34
net.ipv6.neigh.eth0.unres_qlen_bytes = 65536
net.ipv6.neigh.lo.anycast_delay = 100
net.ipv6.neigh.lo.app_solicit = 0
net.ipv6.neigh.lo.base_reachable_time_ms = 30000
net.ipv6.neigh.lo.delay_first_probe_time = 5
net.ipv6.neigh.lo.gc_stale_time = 60
net.ipv6.neigh.lo.locktime = 0
net.ipv6.neigh.lo.mcast_solicit = 3
net.ipv6.neigh.lo.proxy_delay = 80
net.ipv6.neigh.lo.proxy_qlen = 64
net.ipv6.neigh.lo.retrans_time_ms = 1000
net.ipv6.neigh.lo.ucast_solicit = 3
net.ipv6.neigh.lo.unres_qlen = 34
net.ipv6.neigh.lo.unres_qlen_bytes = 65536
net.ipv6.route.gc_elasticity = 9
net.ipv6.route.gc_interval = 30
net.ipv6.route.gc_min_interval = 0
net.ipv6.route.gc_min_interval_ms = 500
net.ipv6.route.gc_thresh = 1024
net.ipv6.route.gc_timeout = 60
net.ipv6.route.max_size = 4096
net.ipv6.route.min_adv_mss = 1220
net.ipv6.route.mtu_expires = 600
net.ipv6.xfrm6_gc_thresh = 32768
net.netfilter.nf_conntrack_acct = 0
net.netfilter.nf_conntrack_buckets = 15360
net.netfilter.nf_conntrack_checksum = 1
net.netfilter.nf_conntrack_count = 2
net.netfilter.nf_conntrack_events = 1
net.netfilter.nf_conntrack_expect_max = 228
net.netfilter.nf_conntrack_frag6_high_thresh = 4194304
net.netfilter.nf_conntrack_frag6_low_thresh = 3145728
net.netfilter.nf_conntrack_frag6_timeout = 60
net.netfilter.nf_conntrack_generic_timeout = 600
net.netfilter.nf_conntrack_helper = 1
net.netfilter.nf_conntrack_icmp_timeout = 30
net.netfilter.nf_conntrack_icmpv6_timeout = 30
net.netfilter.nf_conntrack_log_invalid = 0
net.netfilter.nf_conntrack_max = 59264
net.netfilter.nf_conntrack_tcp_be_liberal = 0
net.netfilter.nf_conntrack_tcp_loose = 1
net.netfilter.nf_conntrack_tcp_max_retrans = 3
net.netfilter.nf_conntrack_tcp_timeout_close = 10
net.netfilter.nf_conntrack_tcp_timeout_close_wait = 60
net.netfilter.nf_conntrack_tcp_timeout_established = 432000
net.netfilter.nf_conntrack_tcp_timeout_fin_wait = 120
net.netfilter.nf_conntrack_tcp_timeout_last_ack = 30
net.netfilter.nf_conntrack_tcp_timeout_max_retrans = 300
net.netfilter.nf_conntrack_tcp_timeout_syn_recv = 60
net.netfilter.nf_conntrack_tcp_timeout_syn_sent = 120
net.netfilter.nf_conntrack_tcp_timeout_time_wait = 120
net.netfilter.nf_conntrack_tcp_timeout_unacknowledged = 300
net.netfilter.nf_conntrack_timestamp = 0
net.netfilter.nf_conntrack_udp_timeout = 30
net.netfilter.nf_conntrack_udp_timeout_stream = 180
net.netfilter.nf_log.0 = NONE
net.netfilter.nf_log.1 = NONE
net.netfilter.nf_log.10 = NONE
net.netfilter.nf_log.11 = NONE
net.netfilter.nf_log.12 = NONE
net.netfilter.nf_log.2 = NONE
net.netfilter.nf_log.3 = NONE
net.netfilter.nf_log.4 = NONE
net.netfilter.nf_log.5 = NONE
net.netfilter.nf_log.6 = NONE
net.netfilter.nf_log.7 = NONE
net.netfilter.nf_log.8 = NONE
net.netfilter.nf_log.9 = NONE
net.nf_conntrack_max = 59264
net.unix.max_dgram_qlen = 10
vm.admin_reserve_kbytes = 8192
vm.block_dump = 0
vm.dirty_background_bytes = 0
vm.dirty_background_ratio = 10
vm.dirty_bytes = 0
vm.dirty_expire_centisecs = 3000
vm.dirty_ratio = 20
vm.dirty_writeback_centisecs = 500
vm.dirtytime_expire_seconds = 43200
vm.drop_caches = 0
vm.extfrag_threshold = 500
vm.laptop_mode = 0
vm.legacy_va_layout = 0
vm.lowmem_reserve_ratio = 32
vm.max_map_count = 65530
vm.min_free_kbytes = 3894
vm.mmap_min_addr = 4096
vm.nr_pdflush_threads = 0
vm.oom_dump_tasks = 1
vm.oom_kill_allocating_task = 0
vm.overcommit_kbytes = 0
vm.overcommit_memory = 0
vm.overcommit_ratio = 50
vm.page-cluster = 3
vm.panic_on_oom = 0
vm.percpu_pagelist_fraction = 0
vm.stat_interval = 1
vm.swappiness = 60
vm.user_reserve_kbytes = 29417
vm.vfs_cache_pressure = 100
[root@localhost UnixBench]#

pi2 fedora22 でOC

前回、Pi2に、Fedora22 を入れて、UnixBench を計測したときは、279.9 でちょっと残念だったので設定がどうなっているのか見てみました。

・現在のCPU 動作クロックを確認し、上げてみます。raspi-configはないので、/proc/配下の値をとりあえず見てみます。

[root@pi2 boot]# cat /proc/cpuinfo 
processor    : 0
model name    : ARMv7 Processor rev 5 (v7l)
BogoMIPS    : 38.40
Features    : half thumb fastmult vfp edsp neon vfpv3 tls vfpv4 idiva idivt vfpd32 lpae evtstrm 
CPU implementer    : 0x41
CPU architecture: 7
CPU variant    : 0x0
CPU part    : 0xc07
CPU revision    : 5

processor    : 1
model name    : ARMv7 Processor rev 5 (v7l)
BogoMIPS    : 38.40
Features    : half thumb fastmult vfp edsp neon vfpv3 tls vfpv4 idiva idivt vfpd32 lpae evtstrm 
CPU implementer    : 0x41
CPU architecture: 7
CPU variant    : 0x0
CPU part    : 0xc07
CPU revision    : 5

processor    : 2
model name    : ARMv7 Processor rev 5 (v7l)
BogoMIPS    : 38.40
Features    : half thumb fastmult vfp edsp neon vfpv3 tls vfpv4 idiva idivt vfpd32 lpae evtstrm 
CPU implementer    : 0x41
CPU architecture: 7
CPU variant    : 0x0
CPU part    : 0xc07
CPU revision    : 5

processor    : 3
model name    : ARMv7 Processor rev 5 (v7l)
BogoMIPS    : 38.40
Features    : half thumb fastmult vfp edsp neon vfpv3 tls vfpv4 idiva idivt vfpd32 lpae evtstrm 
CPU implementer    : 0x41
CPU architecture: 7
CPU variant    : 0x0
CPU part    : 0xc07
CPU revision    : 5

Hardware    : BCM2709
Revision    : a21041
Serial        : 00000000********
[root@pi2 boot]# 

※このあたりには出ないようです。

・/boot/config.txt で、設定できるようなのでやってみます。

[root@pi2 boot]# cat /etc/fstab 
UUID=7c321d6b-f2b0-4783-9576-e3dfe657f9b3 / ext4 defaults,noatime 0 0
/dev/mmcblk0p1 /boot vfat defaults 0 0
[root@pi2 boot]# 

[root@pi2 boot]# blkid
/dev/mmcblk0p1: SEC_TYPE="msdos" UUID="509F-31B8" TYPE="vfat" PARTUUID="0008037c-01"
/dev/mmcblk0p2: LABEL="_/" UUID="7c321d6b-f2b0-4783-9576-e3dfe657f9b3" TYPE="ext4" PARTUUID="0008037c-02"
/dev/mmcblk0: PTUUID="0008037c" PTTYPE="dos"
[root@pi2 boot]# 

以下の感じにファイルを作成し、リブートしてみました。

--- /boot/cmdline.txt
dwc_otg.lpm_enable=0 console=ttyAMA0,115200 console=tty1 root=/dev/mmcblk0p2 rootfstype=ext4 elevator=deadline rootwait

--- /boot/config.txt
arm_freq_min=900
arm_freq=1000
core_freq_min=450
core_freq=500
#sdram_freq=500
over_voltage_min=0
over_voltage=2

・以下で、確認します。が、負荷をかけても変わらず。

・温度(34428と出たら34.428度と読み替え)

#cat /sys/class/thermal/thermal_zone0/temp

・最大スピード

#cat /sys/devices/system/cpu/cpu0/cpufreq/cpuinfo_max_freq

・現在のスピード

# cat /sys/devices/system/cpu/cpu0/cpufreq/scaling_cur_freq

負荷をかけてもCPUクロックがあがらないのは、何かが足りないようですね。

※ツールを入れて確認してみることにします。

 

・ツールを入れる

[root@pi2 UnixBench]# dnf install cpufrequtils

・以下の感じで、現在の設定を確認できるようです。

[root@pi2 UnixBench]# cpupower frequency-info
analyzing CPU 0:
  driver: BCM2835 CPUFreq
  CPUs which run at the same hardware frequency: 0 1 2 3
  CPUs which need to have their frequency coordinated by software: 0 1 2 3
  maximum transition latency: 355 us.
  hardware limits: 600 MHz - 900 MHz
  available frequency steps: 600 MHz, 900 MHz
  available cpufreq governors: conservative, ondemand, userspace, powersave, performance
  current policy: frequency should be within 600 MHz and 900 MHz.
                  The governor "powersave★" may decide which speed to use
                  within this range.
  current CPU frequency is 600 MHz (asserted by call to hardware).
[root@pi2 UnixBench]# 

・powersave    は、負荷に関わらず、変動可能範囲内の最低のクロックで動作 で動作している模様。

参考 http://d.hatena.ne.jp/kakurasan/20070720/p1

 

省電力モードというところでしょうか。とりあえず、この設定を変えて、600Mhz ~ 900Mhz で動作するようにしてみます。

 

・負荷がかかったら、すぐクロックがあがるように ondemand に設定してみます。

[root@pi2 UnixBench]# cpupower frequency-set -g ondemand
Setting cpu: 0
Setting cpu: 1
Setting cpu: 2
Setting cpu: 3
[root@pi2 UnixBench]# 

[root@pi2 UnixBench]# cat /sys/devices/system/cpu/cpu0/cpufreq/scaling_governor
ondemand★
[root@pi2 UnixBench]# 

[root@pi2 UnixBench]# cpupower frequency-info
analyzing CPU 0:
  driver: BCM2835 CPUFreq
  CPUs which run at the same hardware frequency: 0 1 2 3
  CPUs which need to have their frequency coordinated by software: 0 1 2 3
  maximum transition latency: 355 us.
  hardware limits: 600 MHz - 900 MHz
  available frequency steps: 600 MHz, 900 MHz
  available cpufreq governors: conservative, ondemand, userspace, powersave, performance
  current policy: frequency should be within 600 MHz and 900 MHz.
                  The governor "ondemand★" may decide which speed to use
                  within this range.
  current CPU frequency is 600 MHz (asserted by call to hardware).
[root@pi2 UnixBench]# 

※設定は変更されたようです。

・現在の値

[root@pi2 ~]# cat /sys/devices/system/cpu/cpu0/cpufreq/scaling_cur_freq

600000

[root@pi2 ~]#

・UnixBench で負荷をかけ、値を確認。

[root@pi2 ~]# cat /sys/devices/system/cpu/cpu0/cpufreq/scaling_cur_freq

900000★

[root@pi2 ~]#

※負荷がかかれば、クロックはあがっているようです。

・温度のモニタ

[root@pi2 ~]# watch -n 1 cat /sys/class/thermal/thermal_zone0/temp

Every 1.0s: cat /sys/class/thermal/thermal_zone0/temp        Sat Jul  4 15:49:35 2015

60528 ★

※単位は 1/1000℃ 上記例だと、60.528℃。指先でCPU を触ると熱いです。最高で、64℃くらいまであがりました。

指先で冷ますと、58℃くらいに。(熱いです) だから、みなさん放熱板つけているんですね。

 

・BogoMIPS の値もあがっているようです。

[root@pi2 ~]# cat /proc/cpuinfo

processor    : 0

model name    : ARMv7 Processor rev 5 (v7l)

BogoMIPS    : 57.60★

Features    : half thumb fastmult vfp edsp neon vfpv3 tls vfpv4 idiva idivt vfpd32 lpae evtstrm

CPU implementer    : 0x41

CPU architecture: 7

CPU variant    : 0x0

CPU part    : 0xc07

CPU revision    : 5

::

・・・温度を監視し、UnixBench を完走させてみます。

------------------------------------------------------------------------
Benchmark Run: 土  7月 04 2015 15:44:51 - 16:13:14
4 CPUs in system; running 4 parallel copies of tests

Dhrystone 2 using register variables       14083711.0 lps   (10.0 s, 7 samples)
Double-Precision Whetstone                     2200.7 MWIPS (9.1 s, 7 samples)
Execl Throughput                               1294.5 lps   (29.9 s, 2 samples)
File Copy 1024 bufsize 2000 maxblocks         98062.8 KBps  (30.0 s, 2 samples)
File Copy 256 bufsize 500 maxblocks           30405.9 KBps  (30.0 s, 2 samples)
File Copy 4096 bufsize 8000 maxblocks        274125.7 KBps  (30.0 s, 2 samples)
Pipe Throughput                              714775.2 lps   (10.0 s, 7 samples)
Pipe-based Context Switching                 100933.0 lps   (10.0 s, 7 samples)
Process Creation                               2531.6 lps   (30.0 s, 2 samples)
Shell Scripts (1 concurrent)                   1739.2 lpm   (60.1 s, 2 samples)
Shell Scripts (8 concurrent)                    238.2 lpm   (60.5 s, 2 samples)
System Call Overhead                        1538713.1 lps   (10.0 s, 7 samples)

System Benchmarks Index Values               BASELINE       RESULT    INDEX
Dhrystone 2 using register variables         116700.0   14083711.0   1206.8
Double-Precision Whetstone                       55.0       2200.7    400.1
Execl Throughput                                 43.0       1294.5    301.1
File Copy 1024 bufsize 2000 maxblocks          3960.0      98062.8    247.6
File Copy 256 bufsize 500 maxblocks            1655.0      30405.9    183.7
File Copy 4096 bufsize 8000 maxblocks          5800.0     274125.7    472.6
Pipe Throughput                               12440.0     714775.2    574.6
Pipe-based Context Switching                   4000.0     100933.0    252.3
Process Creation                                126.0       2531.6    200.9
Shell Scripts (1 concurrent)                     42.4       1739.2    410.2
Shell Scripts (8 concurrent)                      6.0        238.2    396.9
System Call Overhead                          15000.0    1538713.1   1025.8
                                                                   ========
System Benchmarks Index Score                                         396.7

[root@pi2 UnixBench]# 

おおお。あがりました。とりあえず、この設定で遊びます。お仕事で使っているマシンとかは、この数字が7000とか1万とかなので、かわいい感じがしますが、とても立派な数字なんです。15年前くらいの2000年あたりは、サーバマシンといえども、200ちょいくらいしかなかったので。20万位したマシンで、その数字ですから。5000円くらいのPi2 でこの数字が出るというのは、とても立派なのです。