URLからDrawableへの変換注意点
DrawableでOutOfMemoryエラーが起きるのデバッガであるコードの中を追ってみた。
InputStream input = (InputStream) new URL("http://****/hoge.jpg").getcontent(); Drawable draw = Drawable.createFromStream(input, "");
これのコールスタックを見てみると一目瞭然。
BitmapFactory.decodeStream(InputStream, Rect, BitmapFactory$Options) BitmapFactory.decodeResourceStream(Resources, TypedValue, InputStream, Rect, BitmapFactory$Options) Drawable.createFromResourceStream(Resources, TypedValue, InputStream, String, BitmapFactory$Options) Drawable.createFromStream(InputStream, String)
InputStreamからBitmapを作ってました。
縦横のでかい高圧縮なjpegをInputStreamに突っ込んじゃったらそりゃメモリ不足になるよね。という話。
sshd with cygwin on Windows7
1062 errorが出てsshdがうまく起動しない。
$ /usr/sbin/sshd -f /etc/sshd_config
で通るからまさかと思ったら・・・
サービスの起動オプションに
-f /etc/sshd_config
と入れたらすんなり起動したお…
zfs raidz on FreeBSD8.2 with Rocket Raid 2720 その4(ベンチマーク編)
次は4Gくらいでとってみる
追記:
/boot/loader.conf
vfs.zfs.txg.timeout=5
1回目 server# dd if=/dev/zero of=filez/tank/tmp bs=1m coount=4096 4096+0 records in 4096+0 records out 4294967296 bytes transferred in 11.528729 secs (372544737 bytes/sec) 2回目 server# dd if=/dev/zero of=filez/tank/tmp bs=1m coount=4096 4096+0 records in 4096+0 records out 4294967296 bytes transferred in 11.293569 secs (380302034 bytes/sec) 3回目 server# dd if=/dev/zero of=filez/tank/tmp bs=1m coount=4096 4096+0 records in 4096+0 records out 4294967296 bytes transferred in 12.024963 secs (357170939 bytes/sec) 4回目 server# dd if=/dev/zero of=filez/tank/tmp bs=1m coount=4096 4096+0 records in 4096+0 records out 4294967296 bytes transferred in 11.535754 secs (372317866 bytes/sec) 5回目 server# dd if=/dev/zero of=filez/tank/tmp bs=1m coount=4096 4096+0 records in 4096+0 records out 4294967296 bytes transferred in 18.699484 secs (229683735 bytes/sec) 6回目 server# dd if=/dev/zero of=filez/tank/tmp bs=1m coount=4096 4096+0 records in 4096+0 records out 4294967296 bytes transferred in 11.827622 secs (363130249 bytes/sec) 7回目 server# dd if=/dev/zero of=filez/tank/tmp bs=1m coount=4096 4096+0 records in 4096+0 records out 4294967296 bytes transferred in 11.952731 secs (359329373 bytes/sec) 8回目 server# dd if=/dev/zero of=filez/tank/tmp bs=1m coount=4096 4096+0 records in 4096+0 records out 4294967296 bytes transferred in 11.583751 secs (370775175 bytes/sec) 9回目 server# dd if=/dev/zero of=filez/tank/tmp bs=1m coount=4096 4096+0 records in 4096+0 records out 4294967296 bytes transferred in 11.511702 secs (373095766 bytes/sec) 10回目 server# dd if=/dev/zero of=filez/tank/tmp bs=1m coount=4096 4096+0 records in 4096+0 records out 4294967296 bytes transferred in 12.167209 secs (352995278 bytes/sec)
はてな重過ぎてSS張れんがな(´・ω・`)
zfs raidz on FreeBSD8.2 with Rocket Raid 2720 その3(ベンチマーク編)
ベンチマーク(zfs raidz)
どうでもいいけどAM3時台だと7月11日の日記になるのね。
例のごとくベンチマーク1回目はraidzで作成。
環境みたいなの
OS :FreeBSD 8.2(x64) CPU:Intel E3200 MEM:8GB(DDR2) M/B:ASUS P5KPL-AM EPU I/F:HighPoint Rocket Raid 2720 HDD:WD20EARX * 4
追記:
/boot/loader.conf
vfs.zfs.txg.timeout=5
# zpool create tank raidz da0p1 da2p1 da3p1
1回目 server# dd if=/dev/zero of=/filez/tank/tmp bs=1m count=1024 1024+0 records in 1024+0 records out/ 1073741824 bytes transferred in 1.461938 secs (734464727 bytes/sec) 2回目 server# dd if=/dev/zero of=/filez/tank/tmp bs=1m count=1024 1024+0 records in 1024+0 records out/ 1073741824 bytes transferred in 1.415024 secs (758815379 bytes/sec) 3回目 server# dd if=/dev/zero of=/filez/tank/tmp bs=1m count=1024 1024+0 records in 1024+0 records out/ 1073741824 bytes transferred in 1.437210 secs (747101634 bytes/sec) 4回目 server# dd if=/dev/zero of=/filez/tank/tmp bs=1m count=1024 1024+0 records in 1024+0 records out/ 1073741824 bytes transferred in 1.450791 secs (740107921 bytes/sec) 5回目 server# dd if=/dev/zero of=/filez/tank/tmp bs=1m count=1024 1024+0 records in 1024+0 records out/ 1073741824 bytes transferred in 1.339544 secs (801572600 bytes/sec) 6回目 server# dd if=/dev/zero of=/filez/tank/tmp bs=1m count=1024 1024+0 records in 1024+0 records out/ 1073741824 bytes transferred in 1.339696 secs (801481739 bytes/sec) 7回目 server# dd if=/dev/zero of=/filez/tank/tmp bs=1m count=1024 1024+0 records in 1024+0 records out/ 1073741824 bytes transferred in 1.394513 secs (769976262 bytes/sec) 8回目 server# dd if=/dev/zero of=/filez/tank/tmp bs=1m count=1024 1024+0 records in 1024+0 records out/ 1073741824 bytes transferred in 1.561849 secs (687481253 bytes/sec) 9回目 server# dd if=/dev/zero of=/filez/tank/tmp bs=1m count=1024 1024+0 records in 1024+0 records out/ 1073741824 bytes transferred in 1.590825 secs (674959074 bytes/sec) 10回目 server# dd if=/dev/zero of=/filez/tank/tmp bs=1m count=1024 1024+0 records in 1024+0 records out/ 1073741824 bytes transferred in 1.341407 secs (800459492 bytes/sec)
平均だいたい751MByte/secくらい。
はえー
zfs raidz on FreeBSD8.2 with Rocket Raid 2720 その2(設定続編)
設定が一段落してなかったので追記とベンチマークと考察(してもらった)ことなどをかきかき。
ヤットカヨとか言わないで。
ベンチな設定の前に後々必要になるであろう設定などなど。
zfsなお設定
起動時にzfsをマウントしてほしい。
$ echo zfs_enable=\"yes\" >> /etc/rc.conf $ echo zfs_load=\"yes\" >> /boot/loader.conf
マウントポイントを変更したい
通常は以下のコマンドで作成を行う。
# zpool create tank raidz da0p1 da2p1 da3p1
ステータスを確認してみる。
server# zpool status pool: tank state: ONLINE scrub: none requested config: NAME STATE READ WRITE CKSUM tank ONLINE 0 0 0 raidz1 ONLINE 0 0 0 da0p1 ONLINE 0 0 0 da1p1 ONLINE 0 0 0 da2p1 ONLINE 0 0 0 da3p1 ONLINE 0 0 0 errors: No known data errors server# zpool list NAME SIZE USED AVAIL CAP HEALTH ALTROOT tank 7.25T 138K 7.25T 0% ONLINE - server# zfs list NAME USED AVAIL REFER MOUNTPOINT tank 96.5K 5.34T 31.4K /tank server# df Filesystem 1K-blocks Used Avail Capacity Mounted on tank 5732278206 31 5732278175 0% /tank
ステータス見るのにもコマンドいぱいあるけどzpool statusとzfs listくらいしか使わなさそう。
dfとzfs listを見るとマウントポイントが引数指定なしだと/zfs作成名になってしまう。
最初から知ってれば面倒なことはないんだけどファイル入れてしまってたりするので以下のコマンドで変更。
server# mkdir /filez/tank server# zfs set mountpoint=/filez/tank tank server# zfs list NAME USED AVAIL REFER MOUNTPOINT tank 108K 5.34T 31.4K /filez/tank