Upgrade to Pro — share decks privately, control downloads, hide ads and more …

SSDプチフリ対策

 SSDプチフリ対策

Kenichiro MATOHARA

May 07, 2022
Tweet

More Decks by Kenichiro MATOHARA

Other Decks in Technology

Transcript

  1. SSDプチフリ対策
    SSDプチフリ対策
    Kenichiro Matohara(matoken)
    1 / 13

    View full-size slide

  2. 南隅から参加(鹿児島の右下)
    好きなLinuxディストリビューションはDebian
    お仕事募集 mailto:work@matohara.org
    Kenichiro Matohara(matoken)
    Kenichiro Matohara(matoken)
    https://matoken.org
    https://matoken.org
    ©OpenStreetMap協力者 + overpass turbo
    2 / 13

    View full-size slide

  3. 最近
    最近
    筍を折る
    OpenBSDデスクトップを試し中
    鹿児島らぐ次回 2022-05-22(日)

    https://kagolug.connpass.com/event/246332/
    3 / 13

    View full-size slide

  4. SSDプチフリ
    SSDプチフリ
    ネットブック時代によくあったSSDプチフリ → SSDにアクセスすると
    システムが短時間フリーズする
    BarraCuda SSD ZA0100MC0100に移行してからプチフリが頻

    以前使っていたSSD(INTEL SSDSA2CW600G3)では起こら
    なかった.長らく利用& して辛
    かったのでリプレース
    apt upgradeとかするとHDDランプが点きっぱなしでしばらく使い
    物にならない><
    通常利用時にもよく固まるように
    「Ctrl+Space toukaidou → tおうかいどう」のような感じ
    Intel SSD 8MBバグに何度も遭遇
    4 / 13

    View full-size slide

  5. 環境
    環境
    PC
    Lenovo T430s(Intel Core i5-3320M/RAM 16GB)
    Disk
    SSD BarraCuda SSD ZA0100MC0100
    dm-crypt + Btrfs(透過圧縮, snapper)
    OS
    Debian GNU/Linux sid amd64(デスクトップ利用)
    $ lsb_release -dr

    Description: Debian GNU/Linux bookworm/sid

    Release: unstable

    $ mount | grep ' / '

    /dev/mapper/t430s--vg-root on / type btrfs (rw,noatime,nodiratime,compress=zstd:3,ssd,space_ca
    5 / 13

    View full-size slide

  6. swapの利用しにくくする
    swapの利用しにくくする
    RAMはそこそこ空いているけどswapも使っているのでswapを利用し
    にくくする
    swappiness
    0〜100 が設定でき,値が小さいほどswapを利用にくい(設定前
    の既定値は60)
    `10`では効果を感じなかったので現在`1`にしている
    $ echo 'vm.swappiness=1' | sudo tee -a /etc/sysctl.conf

    $ sudo sysctl --system

    $ /sbin/sysctl vm.swappiness

    vm.swappiness = 1
    6 / 13

    View full-size slide

  7. SSDのsync頻度を下げる
    SSDのsync頻度を下げる
    RAMが余っているし,持ち運びをあまりしないのでsync頻度を下げて
    みる
    mountオプションの`commit=nrsec`
    すべてのデータをメタデータをnrsec秒毎に同期させる.既定値は
    5秒(0→既定値),停電などで電源が失われた場合nrsec秒のデー
    タが失われる可能性がある.
    現在
    600

    300
    にしている.
    nrsec?
    $ sudo mount -o remount,commit=600

    $ sudo vi /etc/fstab

    -/dev/mapper/t430s--vg-root / btrfs noatime,nodiratime,ssd,compress=zstd,space_
    -/dev/mapper/t430s--vg-root /home btrfs noatime,nodiratime,ssd,compress=zstd,space_
    +/dev/mapper/t430s--vg-root / btrfs noatime,nodiratime,commit=600,ssd,compress=
    +/dev/mapper/t430s--vg-root /home btrfs noatime,nodiratime,commit=600,ssd,compress=
    7 / 13

    View full-size slide

  8. Profile-sync-daemonでウェブブラ
    Profile-sync-daemonでウェブブラ
    ウザのデータをtmpfsに置く
    ウザのデータをtmpfsに置く
    ウェブブラウザのプロファイルをtmpfsにコピーして利用,定期的に
    SSDに同期.
    導入
    対応ウェブブラウザ
    $ sudo apt install profile-sync-daemon
    $ ls /usr/share/psd/browsers -w 80

    brave google-chrome opera qutebrowser

    chromium google-chrome-beta opera-beta rekonq

    chromium-dev google-chrome-unstable opera-developer seamonkey

    conkeror.mozdev.org heftig-aurora opera-legacy surf

    epiphany icecat opera-next vivaldi

    falkon inox otter-browser vivaldi-snapshot

    firefox luakit palemoon

    firefox-trunk midori qupzilla
    8 / 13

    View full-size slide

  9. いくつかのウェブブラウザで有効に
    サービスを起動して有効に
    同期間隔
    $ grep -v ^# ~/.config/psd/.psd.conf

    USE_OVERLAYFS=""

    BROWSERS="firefox chromium luakit brave"

    USE_BACKUPS="yes"
    $ systemctl --user start psd.service

    $ systemctl --user enable psd.service

    $ systemctl --user status psd.service
    $ grep ^OnUnitActiveSec= /usr/lib/systemd/user/psd-resync.timer

    OnUnitActiveSec=1h
    9 / 13

    View full-size slide

  10. まとめ
    まとめ
    大分マシになった感じだがまだ起こる
    恐らくProfile-sync-daemonが一番効いている
    タブを開きすぎなので閉じる癖をつけよう……
    興味本位や値段でSSDを選ばないほうがいい
    初めてのSeagateのSSD&安かった
    他のプチフリ軽減方法教えてください
    10 / 13

    View full-size slide

  11. ツッコミいくつか
    ツッコミいくつか
    電力不足の可能性は?
    同時に何かを書き込もうとすると電力が足らなくなる可能性
    ファイルシステムがTrimコマンド使ってないのでは
    ext4はサポートしている,btrfsもサポートしています
    空き容量を確認してtrimをやってみては
    が災いしているかも
    暗号化ファイルシステムの「ファイル削除」はディレクトリエントリの
    削除のみならずランダムデータによる塗り潰しを伴う → 塗り潰し
    は初回のみだと思う
    smart情報を確認してはどうか → 寿命情報が確認できるかも
    dm-cryptの暗号化
    11 / 13

    View full-size slide

  12. S.M.A.R.T.
    S.M.A.R.T.
    SMART Attributes Data Structure revision number: 16

    Vendor Specific SMART Attributes with Thresholds:

    ID# ATTRIBUTE_NAME FLAG VALUE WORST THRESH TYPE UPDATED WHEN_FAILED RAW_VALU
    1 Raw_Read_Error_Rate 0x000b 100 100 050 Pre-fail Always - 0

    9 Power_On_Hours 0x0012 100 100 000 Old_age Always - 22787

    12 Power_Cycle_Count 0x0012 100 100 000 Old_age Always - 688

    16 Unknown_Attribute 0x0012 100 100 000 Old_age Always - 90

    17 Unknown_Attribute 0x0012 100 100 000 Old_age Always - 90

    168 Unknown_Attribute 0x0012 100 100 000 Old_age Always - 0

    170 Unknown_Attribute 0x0003 100 100 010 Pre-fail Always - 537

    173 Unknown_Attribute 0x0012 100 100 000 Old_age Always - 4896364
    174 Unknown_Attribute 0x0012 100 100 000 Old_age Always - 450

    177 Wear_Leveling_Count 0x0000 000 000 000 Old_age Offline - 10

    192 Power-Off_Retract_Count 0x0012 100 100 000 Old_age Always - 450

    194 Temperature_Celsius 0x0023 077 057 057 Pre-fail Always In_the_past 51 (Min
    218 Unknown_Attribute 0x000b 100 100 050 Pre-fail Always - 0

    231 Unknown_SSD_Attribute 0x0013 100 100 000 Pre-fail Always - 1099511
    232 Available_Reservd_Space 0x0013 100 100 000 Pre-fail Always - 4810363
    233 Media_Wearout_Indicator 0x000b 100 100 000 Pre-fail Always - 132522

    235 Unknown_Attribute 0x000b 100 100 000 Pre-fail Always - 2779204
    241 Total_LBAs_Written 0x0012 100 100 000 Old_age Always - 163602

    242 Total_LBAs_Read 0x0012 100 100 000 Old_age Always - 87682

    SMART Error Log Version: 1

    No Errors Logged
    12 / 13

    View full-size slide

  13. 奥付
    奥付
    発表
    発表者
    利用ソフトウェア
    ライセンス
    LILO&東海道らぐオンラインミーティング 2022-05-07
    Kenichiro Matohara(matoken)
    Asciidoctor Reveal.js
    CC BY 4.0
    13 / 13

    View full-size slide