$30 off During Our Annual Pro Sale. View Details »

SSDプチフリ対策

 SSDプチフリ対策

Kenichiro MATOHARA

May 07, 2022
Tweet

More Decks by Kenichiro MATOHARA

Other Decks in Technology

Transcript

  1. SSDプチフリ対策 SSDプチフリ対策 Kenichiro Matohara(matoken) <maroken@kagolug.org> 1 / 13

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

    ©OpenStreetMap協力者 + overpass turbo 2 / 13
  3. 最近 最近 筍を折る OpenBSDデスクトップを試し中 鹿児島らぐ次回 2022-05-22(日) https://kagolug.connpass.com/event/246332/ 3 / 13

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

    以前使っていたSSD(INTEL SSDSA2CW600G3)では起こら なかった.長らく利用& して辛 かったのでリプレース apt upgradeとかするとHDDランプが点きっぱなしでしばらく使い 物にならない>< 通常利用時にもよく固まるように 「Ctrl+Space toukaidou → tおうかいどう」のような感じ Intel SSD 8MBバグに何度も遭遇 4 / 13
  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
  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
  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
  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
  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
  10. まとめ まとめ 大分マシになった感じだがまだ起こる 恐らくProfile-sync-daemonが一番効いている タブを開きすぎなので閉じる癖をつけよう…… 興味本位や値段でSSDを選ばないほうがいい 初めてのSeagateのSSD&安かった 他のプチフリ軽減方法教えてください 10 /

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

    → 塗り潰し は初回のみだと思う smart情報を確認してはどうか → 寿命情報が確認できるかも dm-cryptの暗号化 11 / 13
  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
  13. 奥付 奥付 発表 発表者 利用ソフトウェア ライセンス LILO&東海道らぐオンラインミーティング 2022-05-07 Kenichiro Matohara(matoken)

    Asciidoctor Reveal.js CC BY 4.0 13 / 13