Aku; DR: Ke wehewehe nei ka ʻatikala i kahi ala kūpono, wikiwiki a hilinaʻi hoʻi no ka hoʻoholo ʻana Linux-nā polokalamu e kākau i ka ʻikepili i ka disk, e kōkua ana i ka ʻike ʻana i nā ukana disk subsystem kaumaha a pinepine ʻole paha a hiki ke loiloi i ka overhead ʻōnaehana faila. He mea pili loa kēia no nā SSD ma nā PC, eMMC, a me ka hoʻomanaʻo flash i nā kamepiula papa hoʻokahi.
I koʻu kākau ʻana i kēia ʻatikala, ua ʻike au i ka kākau ʻana i kekahi mau kilobytes o ka ʻikepili i ka ʻōnaehana faila BTRFS i ke kākau ʻana i 3 megabytes o ka ʻikepili maoli i ka disk.
Hōʻike
"ʻAe, he lapuwale, e pau nā cell memo i nā SSD hou ma hope o nā makahiki he ʻumi o ka hoʻohana maʻamau, mai hopohopo e pili ana iā ia, ʻoi aku ka liʻiliʻi o ka hoʻololi ʻana, nā mīkini virtual a me ka folder profile browser i ka HDD" - he pane maʻamau i ka nīnau e pili ana. ka hilinaʻi o nā kaʻa moku paʻa me ka hōʻoia ʻia ≈150 TBW. Inā manaʻo ʻoe i ka nui o ka ʻikepili i hiki i kahi polokalamu maʻamau ke kākau, me he mea lā he helu nui ka 10-20 GB i kēlā me kēia lā, e ʻoi aku ka nui o 40 GB, ʻoi aku. Hāʻawi ʻia i kēia mau helu, kūpono loa ka pane - 10 mau makahiki e hoʻokō ai ʻoiaʻiʻo nā waiwai no ka helu o nā cell i kākau ʻia, me 40 GB o ka ʻikepili i hoʻopaʻa ʻia i kēlā me kēia lā.
Eia nō naʻe, i loko o 6 mau makahiki ke hoʻohana nei au i kaʻu SSD ʻekolu: ua hāʻule ka mea hoʻokele o ka mea mua, a ua hoʻomaka ka lua o ka neʻe ʻana i ka ʻikepili ma waena o nā cell i nā manawa he nui i ka lā, a ua hopena i 30 mau kekona i ka lawelawe hoʻopaʻa ʻana.
Ma hope o 7 mau mahina o ka hoʻohana ʻana i ka SSD hou, ua hoʻoholo wau e nānā i ka nui o ka ʻikepili i kākau ʻia, e like me ka hōʻike ʻana e ka drive ponoʻī ma o SMART.
19.7 TB.
I loko o 7 mau mahina wale nō, ua hoʻohana au i 13% o ka nui o ka ʻikepili i kākau ʻia i hōʻoia ʻia, ʻoiai ua hoʻonohonoho ʻia e like me nā ʻōlelo aʻoaʻo no ka hoʻonohonoho ʻana o ka māhele a me ka hoʻonohonoho ʻana o ka ʻōnaehana faila, ʻaʻole au e hoʻohana pinepine i ka swap, disks. nā mīkini uila kau ʻia ma ka HDD!
He kiʻi nui loa kēia; ma kēia helu, e hoʻonui ʻia ka palapala hoʻokō TBW ma mua o ka hiki ʻana o ka manawa hōʻoia disk 5 makahiki. A ʻaʻole hiki i kaʻu kamepiula ke kākau i 93 gigabytes i kēlā me kēia lā! Pono mākou e nānā i ka nui o ka ʻikepili i kākau ʻia i ka disk i 10 mau minuke...
Total:
Writes Queued: 24,712, 2,237MiB
Writes Completed: 25,507, 2,237MiB
Write Merges: 58, 5,472KiB
2.2 GiB, oh-ho-ho!
Ka hoʻoholo ʻana i ka nui o ka ʻikepili i kākau ʻia i kahi hāmeʻa disk
Inā kākoʻo kāu kelepona iā SMART (SSD, EMMC, kekahi MicroSD ʻenehana), a laila ʻo ka mea mua āu e hana ai ʻo ke noi ʻana i ka ʻikepili mai ka drive me ka hoʻohana ʻana i nā polokalamu. smartctl, skdump ai ole ia, mmc (mai mmc-utils).
Hoʻohālike i ka hoʻopuka mai ka polokalamu smartctl
$ sudo smartctl -a /dev/sdb
smartctl 7.0 2019-03-31 r4903 [x86_64-linux-5.3.11-200.fc30.x86_64] (local build)
Copyright (C) 2002-18, Bruce Allen, Christian Franke, www.smartmontools.org
=== START OF INFORMATION SECTION ===
Model Family: Samsung based SSDs
Device Model: Samsung SSD 860 EVO mSATA 250GB
Serial Number: S41MNC0KA13477K
LU WWN Device Id: 5 002538 e700fa64b
Firmware Version: RVT41B6Q
User Capacity: 250 059 350 016 bytes [250 GB]
Sector Size: 512 bytes logical/physical
Rotation Rate: Solid State Device
Form Factor: mSATA
Device is: In smartctl database [for details use: -P show]
ATA Version is: ACS-4 T13/BSR INCITS 529 revision 5
SATA Version is: SATA 3.1, 6.0 Gb/s (current: 3.0 Gb/s)
Local Time is: Tue Nov 19 01:48:50 2019 MSK
SMART support is: Available - device has SMART capability.
SMART support is: Enabled
=== START OF READ SMART DATA SECTION ===
SMART overall-health self-assessment test result: PASSED
General SMART Values:
Offline data collection status: (0x00) Offline data collection activity
was never started.
Auto Offline Data Collection: Disabled.
Self-test execution status: ( 0) The previous self-test routine completed
without error or no self-test has ever
been run.
Total time to complete Offline
data collection: ( 0) seconds.
Offline data collection
capabilities: (0x53) SMART execute Offline immediate.
Auto Offline data collection on/off support.
Suspend Offline collection upon new
command.
No Offline surface scan supported.
Self-test supported.
No Conveyance Self-test supported.
Selective Self-test supported.
SMART capabilities: (0x0003) Saves SMART data before entering
power-saving mode.
Supports SMART auto save timer.
Error logging capability: (0x01) Error logging supported.
General Purpose Logging supported.
Short self-test routine
recommended polling time: ( 2) minutes.
Extended self-test routine
recommended polling time: ( 85) minutes.
SCT capabilities: (0x003d) SCT Status supported.
SCT Error Recovery Control supported.
SCT Feature Control supported.
SCT Data Table supported.
SMART Attributes Data Structure revision number: 1
Vendor Specific SMART Attributes with Thresholds:
ID# ATTRIBUTE_NAME FLAG VALUE WORST THRESH TYPE UPDATED WHEN_FAILED RAW_VALUE
5 Reallocated_Sector_Ct 0x0033 100 100 010 Pre-fail Always - 0
9 Power_On_Hours 0x0032 098 098 000 Old_age Always - 5171
12 Power_Cycle_Count 0x0032 099 099 000 Old_age Always - 459
177 Wear_Leveling_Count 0x0013 096 096 000 Pre-fail Always - 62
179 Used_Rsvd_Blk_Cnt_Tot 0x0013 100 100 010 Pre-fail Always - 0
181 Program_Fail_Cnt_Total 0x0032 100 100 010 Old_age Always - 0
182 Erase_Fail_Count_Total 0x0032 100 100 010 Old_age Always - 0
183 Runtime_Bad_Block 0x0013 100 100 010 Pre-fail Always - 0
187 Uncorrectable_Error_Cnt 0x0032 100 100 000 Old_age Always - 0
190 Airflow_Temperature_Cel 0x0032 058 039 000 Old_age Always - 42
195 ECC_Error_Rate 0x001a 200 200 000 Old_age Always - 0
199 CRC_Error_Count 0x003e 100 100 000 Old_age Always - 0
235 POR_Recovery_Count 0x0012 099 099 000 Old_age Always - 29
241 Total_LBAs_Written 0x0032 099 099 000 Old_age Always - 38615215765
SMART Error Log Version: 1
No Errors Logged
SMART Self-test log structure revision number 1
No self-tests have been logged. [To run self-tests, use: smartctl -t]
SMART Selective self-test log data structure revision number 1
SPAN MIN_LBA MAX_LBA CURRENT_TEST_STATUS
1 0 0 Not_testing
2 0 0 Not_testing
3 0 0 Not_testing
4 0 0 Not_testing
5 0 0 Not_testing
Selective self-test flags (0x0):
After scanning selected spans, do NOT read-scan remainder of disk.
If Selective self-test is pending on power-up, resume after 0 minute delay.Mālama kaʻu SSD i ka nui o ka ʻikepili i kākau ʻia ma ka ʻāpana 241 Total_LBAs_Written, ma nā poloka logical (LBA) ma mua o nā bytes. ʻO ka nui o ka poloka logical i koʻu hihia he 512 bytes (hiki ke ʻike ʻia ma ka smartctl output, ma ka Laki ʻāpana). No ka loaʻa ʻana o nā bytes, pono ʻoe e hoʻonui i ka waiwai hoʻohālikelike me 512.
38615215765 × 512 ÷ 1000 ÷ 1000 ÷ 1000 ÷ 1000 = 19,770 ТБ
38615215765 × 512 ÷ 1024 ÷ 1024 ÷ 1024 ÷ 1024 = 17,981 ТиБʻO ka papahana skdump ma kaʻu SSD e ho'āʻo nei e wehewehe i ka waiwai Total_LBAs_Written ma kāna ʻano ponoʻī, ʻo ia ke kumu e hōʻike ai. 1296217.695 TB, ʻaʻole pololei.
No ka ʻike ʻana i ka nui o ka ʻike i hoʻopaʻa ʻia ma ka pae o ka hāmeʻa, e hoʻohana mākou i ka papahana btrace mai ka pūʻolo blktrace. Hōʻike ia i nā helu helu maʻamau no ka manawa holoʻokoʻa e holo ana ka papahana, a me nā kaʻina hana a me nā kaula (me nā kernels) i hana i ka hoʻopaʻa ʻana.
E holo i kēia kauoha e hōʻiliʻili i ka ʻike ma 10 mau minuke, kahi / dev / sdb kāu disk:
# btrace -w 600 -a write /dev/sdbHoʻopuka kauoha maʻamau
…
8,16 0 3253 50.085433192 0 C WS 125424240 + 64 [0]
8,16 0 3254 50.085550024 0 C WS 193577744 + 64 [0]
8,16 0 3255 50.085685165 0 C WS 197246976 + 64 [0]
8,16 0 3256 50.085936852 0 C WS 125736264 + 128 [0]
8,16 0 3257 50.086060780 0 C WS 96261752 + 64 [0]
8,16 0 3258 50.086195031 0 C WS 94948640 + 64 [0]
8,16 0 3259 50.086327355 0 C WS 124656144 + 64 [0]
8,16 0 3260 50.086843733 15368 C WSM 310218496 + 32 [0]
8,16 0 3261 50.086975238 753 A WSM 310218368 + 32 <- (8,20) 291339904
8,16 0 3262 50.086975560 753 Q WSM 310218368 + 32 [dmcrypt_write/2]
8,16 0 3263 50.086977345 753 G WSM 310218368 + 32 [dmcrypt_write/2]
8,16 0 3264 50.086978072 753 I WSM 310218368 + 32 [dmcrypt_write/2]
8,16 0 3265 50.086979159 753 D WSM 310218368 + 32 [dmcrypt_write/2]
8,16 0 3266 50.087055685 0 C WSM 310218368 + 32 [0]
8,16 0 3267 50.087060168 753 A WSM 310218592 + 160 <- (8,20) 291340128
8,16 0 3268 50.087060367 753 Q WSM 310218592 + 160 [dmcrypt_write/2]
8,16 0 3269 50.087061242 753 G WSM 310218592 + 160 [dmcrypt_write/2]
8,16 0 3270 50.087061698 753 I WSM 310218592 + 160 [dmcrypt_write/2]
8,16 0 3271 50.087062361 753 D WSM 310218592 + 160 [dmcrypt_write/2]
8,16 0 3272 50.087386179 0 C WSM 310218592 + 160 [0]
8,16 0 3273 50.087436417 15368 A FWS 0 + 0 <- (253,1) 0
8,16 0 3274 50.087437471 15368 Q FWS [LS Thread]
8,16 0 3275 50.087440862 15368 G FWS [LS Thread]
8,16 0 3276 50.088300047 0 C WS 0 [0]
8,16 0 3277 50.088470917 753 A WFSM 18882688 + 8 <- (8,20) 4224
8,16 0 3278 50.088471091 753 Q WFSM 18882688 + 8 [dmcrypt_write/2]
8,16 0 3279 50.088471688 753 G WFSM 18882688 + 8 [dmcrypt_write/2]
8,16 0 3280 50.088474334 32254 D WSM 18882688 + 8 [kworker/0:2H]
8,16 0 3281 50.088515572 0 C WSM 18882688 + 8 [0]
8,16 0 3282 50.089229069 0 C WSM 18882688 [0]
CPU0 (8,16):
Reads Queued: 0, 0KiB Writes Queued: 345, 25,932KiB
Read Dispatches: 0, 0KiB Write Dispatches: 331, 25,788KiB
Reads Requeued: 0 Writes Requeued: 0
Reads Completed: 0, 0KiB Writes Completed: 1,597, 117,112KiB
Read Merges: 0, 0KiB Write Merges: 1, 16KiB
Read depth: 0 Write depth: 177
IO unplugs: 0 Timer unplugs: 0
CPU1 (8,16):
Reads Queued: 0, 0KiB Writes Queued: 502, 39,948KiB
Read Dispatches: 0, 0KiB Write Dispatches: 495, 40,076KiB
Reads Requeued: 0 Writes Requeued: 0
Reads Completed: 0, 0KiB Writes Completed: 0, 0KiB
Read Merges: 0, 0KiB Write Merges: 0, 0KiB
Read depth: 0 Write depth: 177
IO unplugs: 0 Timer unplugs: 0
CPU2 (8,16):
Reads Queued: 0, 0KiB Writes Queued: 297, 26,800KiB
Read Dispatches: 0, 0KiB Write Dispatches: 287, 26,800KiB
Reads Requeued: 0 Writes Requeued: 0
Reads Completed: 0, 0KiB Writes Completed: 0, 0KiB
Read Merges: 0, 0KiB Write Merges: 0, 0KiB
Read depth: 0 Write depth: 177
IO unplugs: 0 Timer unplugs: 0
CPU3 (8,16):
Reads Queued: 0, 0KiB Writes Queued: 418, 24,432KiB
Read Dispatches: 0, 0KiB Write Dispatches: 408, 24,448KiB
Reads Requeued: 0 Writes Requeued: 0
Reads Completed: 0, 0KiB Writes Completed: 0, 0KiB
Read Merges: 0, 0KiB Write Merges: 2, 272KiB
Read depth: 0 Write depth: 177
IO unplugs: 0 Timer unplugs: 0
Total (8,16):
Reads Queued: 0, 0KiB Writes Queued: 1,562, 117,112KiB
Read Dispatches: 0, 0KiB Write Dispatches: 1,521, 117,112KiB
Reads Requeued: 0 Writes Requeued: 0
Reads Completed: 0, 0KiB Writes Completed: 1,597, 117,112KiB
Read Merges: 0, 0KiB Write Merges: 3, 288KiB
IO unplugs: 0 Timer unplugs: 0
Throughput (R/W): 0KiB/s / 2,338KiB/s
Events (8,16): 9,287 entries
Skips: 0 forward (0 - 0.0%) btrace hiki iā ʻoe ke ʻike maopopo i ka nui maoli o ka ʻikepili i hoʻopaʻa ʻia, akā paʻakikī ke hoʻomaopopo i nā papahana e hoʻopaʻa nei mai kāna hoʻopuka.
Ke hoʻoholo nei i nā polokalamu e kākau i ka drive
ʻO ka papahana iotop e hōʻike i nā kaʻina hana e kākau i ka disk a me ka nui o ka ʻikepili i kākau ʻia.
Hāʻawi ʻia ka huahana maʻalahi e nā ʻāpana aʻe:
# iotop -obPatHoʻopuka papahana laʻana
02:55:47 Total DISK READ : 0.00 B/s | Total DISK WRITE : 30.65 K/s
02:55:47 Actual DISK READ: 0.00 B/s | Actual DISK WRITE: 0.00 B/s
TIME PID PRIO USER DISK READ DISK WRITE SWAPIN IO COMMAND
b'02:55:47 753 be/4 root 0.00 B 0.00 B 0.00 % 0.04 % [dmcrypt_write/2]'
b'02:55:47 788 be/4 root 72.00 K 18.27 M 0.00 % 0.02 % [btrfs-transacti]'
b'02:55:47 15057 be/4 valdikss 216.00 K 283.05 M 0.00 % 0.01 % firefox'
b'02:55:47 1588 ?dif root 0.00 B 0.00 B 0.00 % 0.00 % Xorg -nolisten tcp -auth /var/run/sddm/{398f030f-9667-4dff-b371-81eaae48dfdf} -background none -noreset -displayfd 18 -seat seat0 vt1'
b'02:55:47 15692 be/4 valdikss 988.00 K 9.41 M 0.00 % 0.00 % python3 /usr/bin/gajim'
b'02:55:47 15730 ?dif valdikss 9.07 M 0.00 B 0.00 % 0.00 % telegram-desktop --'
b'02:55:47 2174 ?dif valdikss 1840.00 K 2.47 M 0.00 % 0.00 % yakuake'
b'02:55:47 19827 be/4 root 16.00 K 896.00 K 0.00 % 0.00 % [kworker/u16:7-events_unbound]'
b'02:55:47 19074 be/4 root 16.00 K 480.00 K 0.00 % 0.00 % [kworker/u16:4-btrfs-endio-write]'
b'02:55:47 19006 be/4 root 16.00 K 1872.00 K 0.00 % 0.00 % [kworker/u16:1-events_unbound]'
b'02:55:47 1429 be/4 root 484.00 K 0.00 B 0.00 % 0.00 % accounts-daemon'
b'02:55:47 15820 be/4 valdikss 312.00 K 0.00 B 0.00 % 0.00 % firefox -contentproc -childID 6 -isForBrowser -prefsLen 7894 -prefMapSize 223880 -parentBuildID 20191022164834 -greomni /usr/lib64/firefox/omni.ja -appomni /usr/lib64/firefox/browser/omni.ja -appdir /usr/lib64/firefox/browser 15057 tab'
b'02:55:47 2125 ?dif valdikss 0.00 B 92.00 K 0.00 % 0.00 % plasmashell'
b'02:55:47 1268 be/3 root 0.00 B 4.00 K 0.00 % 0.00 % auditd'
b'02:55:47 1414 be/4 root 0.00 B 4.00 K 0.00 % 0.00 % sssd_nss --uid 0 --gid 0 --logger=files'
b'02:55:47 15238 be/4 valdikss 0.00 B 4.00 K 0.00 % 0.00 % thunderbird'
b'02:55:47 18605 be/4 root 0.00 B 3.19 M 0.00 % 0.00 % [kworker/u16:0-btrfs-endio-write]'
b'02:55:47 18867 be/4 root 0.00 B 96.00 K 0.00 % 0.00 % [kworker/u16:5-btrfs-endio-meta]'
b'02:55:47 19070 be/4 root 0.00 B 160.00 K 0.00 % 0.00 % [kworker/u16:2-btrfs-freespace-write]'
b'02:55:47 19645 be/4 root 0.00 B 2.17 M 0.00 % 0.00 % [kworker/u16:3-events_unbound]'
b'02:55:47 19982 be/4 root 0.00 B 496.00 K 0.00 % 0.00 % [kworker/u16:6-btrfs-endio-write]'Hopu ʻo Firefox i kou maka, e hoʻopaʻa ana i 283 megabytes i loko o kekahi mau minuke o ka holo iotop.
Ke hoʻoholo nei i nā faila e kākau ʻia ai
Maikaʻi ka ʻike e pili ana i ke kaʻina hana e hoʻopaʻa ai i ka disk, akā ʻoi aku ka maikaʻi o nā ala i hana ʻia ai ka hoʻopaʻa ʻana.
E hoʻohana kākou i ka polokalamu fatrace, ka mea e hahai i nā loli i ka ʻōnaehana faila.
# fatrace -f WHoʻopuka papahana laʻana
firefox(15057): CW /home/valdikss/.mozilla/firefox/xyf4vqh2.default/storage/default/moz-extension+++e5c304fb-af40-498a-9ba8-47eb0416e933^userContextId=4294967295/idb/3647222921wleabcEoxlt-eengsairo.sqlite-wal
firefox(15057): CW /home/valdikss/.mozilla/firefox/xyf4vqh2.default/storage/default/moz-extension+++e5c304fb-af40-498a-9ba8-47eb0416e933^userContextId=4294967295/idb/3647222921wleabcEoxlt-eengsairo.sqlite
firefox(15057): W /home/valdikss/.mozilla/firefox/xyf4vqh2.default/storage/default/https+++habr.com/ls/data.sqlite-journal
firefox(15057): W /home/valdikss/.mozilla/firefox/xyf4vqh2.default/storage/default/https+++habr.com/ls/data.sqlite-journal
firefox(15057): W /home/valdikss/.mozilla/firefox/xyf4vqh2.default/storage/default/https+++habr.com/ls/data.sqlite-journal
firefox(15057): W /home/valdikss/.mozilla/firefox/xyf4vqh2.default/storage/default/https+++habr.com/ls/data.sqlite-journal
firefox(15057): W /home/valdikss/.mozilla/firefox/xyf4vqh2.default/storage/default/https+++habr.com/ls/data.sqlite-journal
firefox(15057): W /home/valdikss/.mozilla/firefox/xyf4vqh2.default/storage/default/https+++habr.com/ls/data.sqlite-journal
firefox(15057): W /home/valdikss/.mozilla/firefox/xyf4vqh2.default/storage/default/https+++habr.com/ls/data.sqlite-journal
firefox(15057): CW /home/valdikss/.mozilla/firefox/xyf4vqh2.default/storage/default/https+++habr.com/ls/usage-journal
firefox(15057): W /home/valdikss/.mozilla/firefox/xyf4vqh2.default/storage/default/https+++habr.com/ls/usage
firefox(15057): CW /home/valdikss/.mozilla/firefox/xyf4vqh2.default/storage/default/https+++habr.com/ls/usage
firefox(15057): W /home/valdikss/.mozilla/firefox/xyf4vqh2.default/storage/default/https+++habr.com/ls/data.sqlite-journal
firefox(15057): W /home/valdikss/.mozilla/firefox/xyf4vqh2.default/storage/default/https+++habr.com/ls/data.sqlite
firefox(15057): W /home/valdikss/.mozilla/firefox/xyf4vqh2.default/storage/default/https+++habr.com/ls/data.sqlite
firefox(15057): W /home/valdikss/.mozilla/firefox/xyf4vqh2.default/storage/default/https+++habr.com/ls/data.sqlite
firefox(15057): W /home/valdikss/.mozilla/firefox/xyf4vqh2.default/webappsstore.sqlite-wal
firefox(15057): W /home/valdikss/.mozilla/firefox/xyf4vqh2.default/webappsstore.sqlite-wal
firefox(15057): W /home/valdikss/.mozilla/firefox/xyf4vqh2.default/webappsstore.sqlite-wal
firefox(15057): W /home/valdikss/.mozilla/firefox/xyf4vqh2.default/webappsstore.sqlite-wal
firefox(15057): W /home/valdikss/.mozilla/firefox/xyf4vqh2.default/webappsstore.sqlite-wal
firefox(15057): W /home/valdikss/.mozilla/firefox/xyf4vqh2.default/webappsstore.sqlite-wal
firefox(15057): W /home/valdikss/.mozilla/firefox/xyf4vqh2.default/webappsstore.sqlite-wal
firefox(15057): CW /home/valdikss/.mozilla/firefox/xyf4vqh2.default/storage/default/https+++habr.com/ls/data.sqlite-journal
firefox(15057): W /home/valdikss/.mozilla/firefox/xyf4vqh2.default/webappsstore.sqlite
firefox(15057): W /home/valdikss/.mozilla/firefox/xyf4vqh2.default/webappsstore.sqlite
firefox(15057): W /home/valdikss/.mozilla/firefox/xyf4vqh2.default/webappsstore.sqliteʻAʻole hiki i ka Fatrace ke hōʻike i ka nui o ka ʻikepili i hoʻopaʻa ʻia ma muli o ka hoʻohana ʻana i kahi mākaʻikaʻi maʻalahi o ka ʻike ʻana o nā faila ma o ka inotify.
Mai ka hopena hiki iā ʻoe ke ʻike pehea e hoʻopakele ai ʻo Habr i kaʻu ʻatikala ma ka waihona kūloko o ka polokalamu kele pūnaewele aʻu e kākau nei, a me ka Group Speed Dial extension, ʻoiai hiki iā mākou ke ʻike i ka hoʻohana ʻana i ka fatrace, heluhelu i kāna ʻikepili i kēlā me kēia. 30 kekona. Heluhelu ia, ʻaʻole kākau: CW ma mua o ka ʻōlelo ʻana o ka faila ua wehe ʻia ka faila no ka heluhelu ʻana a me ke kākau ʻana, me ka hana like ʻana o ka faila inā nalo (kapa ʻia ʻo openat me ka hae O_RDWR|O_CREAT), akā ʻaʻole ia e ʻōlelo ua kākau maoli ʻia kekahi ʻike i ka faila.
I ka hihia wale nō, e hōʻoia i kēia, e hoʻohana i ka strace, me kahi kānana no nā kelepona ʻōnaehana faila:
strace -yy -e trace=open,openat,close,write -f -p 15057 2>&1 | grep extensionHoʻopuka kauoha
[pid 20352] openat(AT_FDCWD, "/home/valdikss/.mozilla/firefox/xyf4vqh2.default/storage/default/moz-extension+++e5c304fb-af40-498a-9ba8-47eb0416e933^userContextId=4294967295/idb/3647222921wleabcEoxlt-eengsairo.sqlite", O_RDWR|O_CREAT|O_CLOEXEC, 0644) = 153</home/valdikss/.mozilla/firefox/xyf4vqh2.default/storage/default/moz-extension+++e5c304fb-af40-498a-9ba8-47eb0416e933^userContextId=4294967295/idb/3647222921wleabcEoxlt-eengsairo.sqlite>
[pid 20352] read(153</home/valdikss/.mozilla/firefox/xyf4vqh2.default/storage/default/moz-extension+++e5c304fb-af40-498a-9ba8-47eb0416e933^userContextId=4294967295/idb/3647222921wleabcEoxlt-eengsairo.sqlite>, "SQLite format 3 20 22 @ d 23"..., 100) = 100
[pid 20352] read(153</home/valdikss/.mozilla/firefox/xyf4vqh2.default/storage/default/moz-extension+++e5c304fb-af40-498a-9ba8-47eb0416e933^userContextId=4294967295/idb/3647222921wleabcEoxlt-eengsairo.sqlite>, "SQLite format 3 20 22 @ d 23"..., 4096) = 4096
[pid 20352] openat(AT_FDCWD, "/home/valdikss/.mozilla/firefox/xyf4vqh2.default/storage/default/moz-extension+++e5c304fb-af40-498a-9ba8-47eb0416e933^userContextId=4294967295/idb/3647222921wleabcEoxlt-eengsairo.sqlite-wal", O_RDWR|O_CREAT|O_CLOEXEC, 0644) = 166</home/valdikss/.mozilla/firefox/xyf4vqh2.default/storage/default/moz-extension+++e5c304fb-af40-498a-9ba8-47eb0416e933^userContextId=4294967295/idb/3647222921wleabcEoxlt-eengsairo.sqlite-wal>
…
[pid 20352] read(54</home/valdikss/.mozilla/firefox/xyf4vqh2.default/storage/default/moz-extension+++e5c304fb-af40-498a-9ba8-47eb0416e933^userContextId=4294967295/idb/3647222921wleabcEoxlt-eengsairo.sqlite>, " r4304364354354364- 4204!4'414" 250 &"..., 4096) = 4096
[pid 20352] read(54</home/valdikss/.mozilla/firefox/xyf4vqh2.default/storage/default/moz-extension+++e5c304fb-af40-498a-9ba8-47eb0416e933^userContextId=4294967295/idb/3647222921wleabcEoxlt-eengsairo.sqlite>, " 136Pt2262504 O24532016:"16.27 r245306>2461t1q370"..., 4096) = 4096
[pid 20352] close(77</home/valdikss/.mozilla/firefox/xyf4vqh2.default/storage/default/moz-extension+++e5c304fb-af40-498a-9ba8-47eb0416e933^userContextId=4294967295/idb/3647222921wleabcEoxlt-eengsairo.sqlite-wal>) = 0
[pid 20352] close(54</home/valdikss/.mozilla/firefox/xyf4vqh2.default/storage/default/moz-extension+++e5c304fb-af40-498a-9ba8-47eb0416e933^userContextId=4294967295/idb/3647222921wleabcEoxlt-eengsairo.sqlite>) = 0 ʻAʻohe kelepona write(), e hōʻike ana ʻaʻohe komo i ka faila.
Ka Hoʻoholo ʻana i ka Pūnaewele Pūnaewele
ʻOkoʻa nui i ka heluhelu ʻana iotop и btrace hāʻawi mai iaʻu i ka manaʻo e hoʻāʻo i ka ʻōnaehana faila ma ke kākau lima ʻana i ka ʻikepili i kahi faila a me ka nānā ʻana i nā heluhelu btrace.
Inā hoʻokaʻawale loa ʻoe i ke kākau ʻana i ka disk ma ke kī ʻana i ke ʻano pilikia pilikia systemd a kākau lima he mau byte ʻikepili i kahi faila i loaʻa, btrace i SSD mai btrfs hōʻike hoʻopaʻa ʻana ʻO ka megabytes 3 ʻikepili maoli. ʻO kahi ʻōnaehana faila hou i hana ʻia ma kahi pahu uila 8 GB e kākau i ka liʻiliʻi o 264 KiB i ka wā e kākau ai i hoʻokahi byte.
No ka hoʻohālikelike ʻana, ʻo ke kākau ʻana i ʻelua paita i kahi faila ma ext4 e pau ai ke kākau ʻana i 24 kilobytes o ka ʻikepili i ka disk.
Ma 2017, ʻo Jayashree Mohan, Rohan Kadekodi lāua ʻo Vijay Chidambaram , ʻo kā lākou hopena no nā btrfs a me ext4 ma 4KB kākau e kūlike me kaʻu.

Ka hopena a me ka hopena
Ma o nā manipulations i wehewehe ʻia ua ʻike ʻia:
- ʻO ka hoʻopaʻa inoa pinepine ʻana o ka hana paʻi e ka CUPS print daemon i /var/ahu hoʻokoe/ kīʻaha i kēlā me kēia minuke. Ua hoʻoponopono ʻia ka pilikia ma ka holoi ʻana i /var/ka pulu/cups (ʻoiai ʻaʻohe hana paʻi);
- ʻO ka ʻoiaʻiʻo e heluhelu ʻia ka waihona i kēlā me kēia 30 kekona e ka Group Speed Dial extension no Firefox;
- ʻO ka hoʻopaʻa inoa ʻana e nā lawelawe ʻike hana like ʻole ma Fedora, ka hopena o nā megabytes o ka ʻikepili i kākau ʻia i btrfs: pmcd.service, pmie.service, pmlogger.service;
- Hoʻonui nui i ka wā e kākau ai i kahi liʻiliʻi o ka ʻikepili me ka hoʻohana ʻana i btrfs.
Ka hopena: ʻaʻole pono ʻoe e hoʻohana i nā btrfs inā kākau pinepine nā polokalamu i kahi helu liʻiliʻi o ka ʻikepili (he mau kilobytes), inā ʻaʻole ia e hopena i nā megabytes o ka ʻikepili i kākau ʻia. He ʻoiaʻiʻo kēia no nā kamepiula papa hoʻokahi me OS ma MicroSD.
Source: www.habr.com
