เบเบฒเบ™เบเปเบฒเบ™เบปเบ”เบ‚เบฐเบšเบงเบ™เบเบฒเบ™เบ—เบตเปˆเบกเบตเบเบฒเบ™เป€เบ„เบทเปˆเบญเบ™เป„เบซเบงเบ‚เบญเบ‡เปเบœเปˆเบ™เปƒเบ™ Linux

TL; DR: เบšเบปเบ”เบ„เบงเบฒเบกเป€เบงเบปเป‰เบฒเบเปˆเบฝเบงเบเบฑเบšเบงเบดเบ—เบตเบ—เบตเปˆเบชเบฐเบ”เบงเบ, เป„เบงเปเบฅเบฐเป€เบŠเบทเปˆเบญเบ–เบทเป„เบ”เป‰เป€เบžเบทเปˆเบญเบเปเบฒเบ™เบปเบ”เบšเบฑเบ™เบ”เบฒเป‚เบ„เบ‡เบเบฒเบ™ Linux เบ—เบตเปˆเบ‚เบฝเบ™เบ‚เปเป‰เบกเบนเบ™เปƒเบชเปˆเปเบœเปˆเบ™, เป€เบŠเบดเปˆเบ‡เบŠเปˆเบงเบเปƒเบ™เบเบฒเบ™เบเปเบฒเบ™เบปเบ”เบเบฒเบ™เป‚เบซเบผเบ”เบ‚เบฐเบซเบ™เบฒเบ”เปƒเบซเบเปˆเบซเบผเบทเป€เบฅเบทเป‰เบญเบเป†เบœเบดเบ”เบ›เบปเบเบเบฐเบ•เบดเปƒเบ™เบฅเบฐเบšเบปเบšเบเปˆเบญเบเบ‚เบญเบ‡เปเบœเปˆเบ™, เปเบฅเบฐเบเบฑเบ‡เบŠเปˆเบงเบเปƒเบซเป‰เบ—เปˆเบฒเบ™เบชเบฒเบกเบฒเบ”เบ›เบฐเป€เบกเบตเบ™เบ„เปˆเบฒ overhead เบ‚เบญเบ‡เบฅเบฐเบšเบปเบšเป„เบŸเบฅเปŒ. เบ™เบตเป‰เปเบกเปˆเบ™เบ„เบงเบฒเบกเบˆเบดเบ‡เป‚เบ”เบเบชเบฐเป€เบžเบฒเบฐเบชเปเบฒเบฅเบฑเบš SSDs เปƒเบ™ PCs, EMMCs, เปเบฅเบฐเบซเบ™เปˆเบงเบเบ„เบงเบฒเบกเบˆเปเบฒ Flash เปƒเบ™เบ„เบญเบกเบžเบดเบงเป€เบ•เบตเบเบฐเบ”เบฒเบ™เบ”เบฝเบง.
เปƒเบ™เบ‚เบฐเบ™เบฐเบ—เบตเปˆเบ‚เบฝเบ™เบšเบปเบ”เบ„เบงเบฒเบกเบ™เบตเป‰, เบ‚เป‰เบฒเบžเบฐเป€เบˆเบปเป‰เบฒเป„เบ”เป‰เบ„เบปเป‰เบ™เบžเบปเบšเบงเปˆเบฒเบเบฒเบ™เบ‚เบฝเบ™เบ‚เปเป‰เบกเบนเบ™เบซเบผเบฒเบเบเบดเป‚เบฅเป„เบšเบ•เปเปˆเบฅเบฐเบšเบปเบšเป„เบŸเบฅเปŒ BTRFS เบชเบปเปˆเบ‡เบœเบปเบ™เปƒเบซเป‰เบเบฒเบ™เบ‚เบฝเบ™เบ‚เปเป‰เบกเบนเบ™เบ—เบตเปˆเปเบ—เป‰เบˆเบดเบ‡ 3 megabytes เป€เบ‚เบปเป‰เบฒเป„เบ›เปƒเบ™เปเบœเปˆเบ™.

เบเบฒเบ™เบ™เปเบฒเบชเบฐเป€เบซเบ™เบต

"เป‚เบญเป‰, เป„เบฎเป‰เบชเบฒเบฅเบฐ, เบˆเบธเบฅเบฑเบ‡เบ„เบงเบฒเบกเบŠเบปเบ‡เบˆเปเบฒเปƒเบ™ SSDs เบ—เบตเปˆเบ—เบฑเบ™เบชเบฐเป„เบซเบกเบˆเบฐเบฅเบปเป‰เบกเป€เบซเบฅเบงเบซเบผเบฑเบ‡เบˆเบฒเบเบซเบฅเบฒเบเบชเบดเบšเบ›เบตเบ‚เบญเบ‡เบเบฒเบ™เบ™เปเบฒเปƒเบŠเป‰เบ›เบปเบเบเบฐเบ•เบด, เบขเปˆเบฒเบเบฑเบ‡เบงเบปเบ™เบเปˆเบฝเบงเบเบฑเบšเบกเบฑเบ™, เบเบฒเบ™เปเบฅเบเบ›เปˆเบฝเบ™เบเบฒเบ™เป‚เบญเบ™เบซเบ™เป‰เบญเบเบฅเบปเบ‡, เป€เบ„เบทเปˆเบญเบ‡ virtual เปเบฅเบฐเป‚เบŸเบ™เป€เบ”เบต profile browser เบเบฑเบš HDD" - เบ„เปเบฒเบ•เบญเบšเบ›เบปเบเบเบฐเบ•เบดเบชเปเบฒเบฅเบฑเบšเบ„เปเบฒเบ–เบฒเบกเบเปˆเบฝเบงเบเบฑเบš. เบ„เบงเบฒเบกเบซเบ™เป‰เบฒเป€เบŠเบทเปˆเบญเบ–เบทเบ‚เบญเบ‡ drives เปเบ‚เบ‡เบ—เบตเปˆเบกเบตเบเบฒเบ™เบฎเบฑเบšเบ›เบฐเบเบฑเบ™ โ‰ˆ150 TBW. เบ–เป‰เบฒเบ—เปˆเบฒเบ™เบ„เบฒเบ”เบ„เบฐเป€เบ™เบงเปˆเบฒเบกเบตเบ‚เปเป‰เบกเบนเบ™เบซเบผเบฒเบเบ›เบฒเบ™เปƒเบ”เบ—เบตเปˆเบŠเบญเบšเปเบงเบ—เบปเปˆเบงเป„เบ›เบชเบฒเบกเบฒเบ”เบ‚เบฝเบ™เป„เบ”เป‰, เบกเบฑเบ™เป€เบšเบดเปˆเบ‡เบ„เบทเบงเปˆเบฒ 10-20 GB เบ•เปเปˆเบกเบทเป‰เป€เบ›เบฑเบ™เบ•เบปเบงเป€เบฅเบเบ‚เบฐเบซเบ™เบฒเบ”เปƒเบซเบเปˆเปเบฅเป‰เบง, เปƒเบซเป‰เบกเบตเบชเบนเบ‡เบชเบธเบ” 40 GB, เบกเบตเบซเบผเบฒเบเบซเบผเบฒเบ. เบญเบตเบ‡เบ•เบฒเบกเบ•เบปเบงเป€เบฅเบเป€เบซเบผเบปเปˆเบฒเบ™เบตเป‰, เบ„เปเบฒเบ•เบญเบšเปเบกเปˆเบ™เบ‚เป‰เบญเบ™เบ‚เป‰เบฒเบ‡เบชเบปเบกเป€เบซเบ”เบชเบปเบกเบœเบปเบ™ - เบกเบฑเบ™เปƒเบŠเป‰เป€เบงเบฅเบฒ 10 เบ›เบตเป€เบžเบทเปˆเบญเบšเบฑเบ™เบฅเบธ เบฎเบฑเบšเบ›เบฐเบเบฑเบ™ เบ„เปˆเบฒเบชเปเบฒเบฅเบฑเบšเบˆเปเบฒเบ™เบงเบ™เบ‚เบญเบ‡เบˆเบธเบฅเบฑเบ‡เบ—เบตเปˆเบ‚เบฝเบ™เบ—เบฑเบš, เบกเบต 40 GB เบ‚เบญเบ‡เบ‚เปเป‰เบกเบนเบ™เบšเบฑเบ™เบ—เบถเบเบ›เบฐเบˆเปเบฒเบงเบฑเบ™.
เบขเปˆเบฒเบ‡เปƒเบ”เบเปเบ•เบฒเบก, เปƒเบ™ 6 เบ›เบตเบ‚เป‰เบญเบเป„เบ”เป‰เปƒเบŠเป‰ SSD เบ—เบตเบชเบฒเบกเบ‚เบญเบ‡เบ‚เป‰เบญเบเปเบฅเป‰เบง: เบ•เบปเบงเบ„เบงเบšเบ„เบธเบกเบ‚เบญเบ‡เบ•เบปเบงเบ—เปเบฒเบญเบดเบ”เบฅเบปเป‰เบกเป€เบซเบฅเบง, เปเบฅเบฐเบญเบฑเบ™เบ—เบตเบชเบญเบ‡เป„เบ”เป‰เป€เบฅเบตเปˆเบกเบ•เบปเป‰เบ™เบเบฒเบ™เป€เบ„เบทเปˆเบญเบ™เบเป‰เบฒเบเบ‚เปเป‰เบกเบนเบ™เบฅเบฐเบซเบงเปˆเบฒเบ‡เบˆเบธเบฅเบฑเบ‡เบซเบผเบฒเบเบ„เบฑเป‰เบ‡เบ•เปเปˆเบกเบทเป‰, เป€เบŠเบดเปˆเบ‡เป€เบฎเบฑเบ”เปƒเบซเป‰เบเบฒเบ™เบšเปเบฅเบดเบเบฒเบ™เบšเบฑเบ™เบ—เบถเบเบเบฒเบ™เบŠเบฑเบเบŠเป‰เบฒ 30 เบงเบดเบ™เบฒเบ—เบต.

เบซเบผเบฑเบ‡เบˆเบฒเบ 7 เป€เบ”เบทเบญเบ™เบ‚เบญเบ‡เบเบฒเบ™เบ™เปเบฒเปƒเบŠเป‰ SSD เปƒเบซเบกเปˆ, เบ‚เป‰เบฒเบžเบฐเป€เบˆเบปเป‰เบฒเป„เบ”เป‰เบ•เบฑเบ”เบชเบดเบ™เปƒเบˆเบเบงเบ”เป€เบšเบดเปˆเบ‡เบˆเปเบฒเบ™เบงเบ™เบ‚เปเป‰เบกเบนเบ™เบ—เบตเปˆเบ‚เบฝเบ™, เบ•เบฒเบกเบเบฒเบ™เบฅเบฒเบเบ‡เบฒเบ™เป‚เบ”เบเป„เบ”เบ‚เบญเบ‡เบกเบฑเบ™เป€เบญเบ‡เบœเปˆเบฒเบ™ SMART.
19.7 TB.
เปƒเบ™เป€เบงเบฅเบฒเบžเบฝเบ‡ 7 เป€เบ”เบทเบญเบ™, เบ‚เป‰เบญเบเป„เบ”เป‰เปƒเบŠเป‰ 13% เบ‚เบญเบ‡เบˆเปเบฒเบ™เบงเบ™เบเบฒเบ™เบฎเบฑเบšเบ›เบฐเบเบฑเบ™เบ‚เบญเบ‡เบ‚เปเป‰เบกเบนเบ™เบ—เบตเปˆเบšเบฑเบ™เบ—เบถเบเป„เบงเป‰, เป€เบ–เบดเบ‡เบงเปˆเบฒเบˆเบฐเบกเบตเบ„เบงเบฒเบกเบˆเบดเบ‡เบ—เบตเปˆเบงเปˆเบฒเบกเบฑเบ™เบ–เบทเบเบ•เบฑเป‰เบ‡เบ„เปˆเบฒเปƒเบซเป‰เบชเบญเบ”เบ„เปˆเบญเบ‡เบเบฑเบšเบ„เปเบฒเปเบ™เบฐเบ™เปเบฒเบชเปเบฒเบฅเบฑเบšเบเบฒเบ™เบˆเบฑเบ”เบฅเปเบฒเบ”เบฑเบšเบžเบฒเบ—เบดเบŠเบฑเบ™เปเบฅเบฐเบเบฒเบ™เบ•เบฑเป‰เบ‡เบ„เปˆเบฒ FS, เบ‚เป‰เบญเบเป€เบเบทเบญเบšเบšเปเปˆเป€เบ„เบตเบเปƒเบŠเป‰ swap, เปเบœเปˆเบ™ virtual machines เบ•เบฑเป‰เบ‡เบขเบนเปˆ. เปƒเบ™ HDD!
เบ™เบตเป‰เปเบกเปˆเบ™เบ•เบปเบงเป€เบฅเบเบ—เบตเปˆเปƒเบซเบเปˆเบœเบดเบ”เบ›เบปเบเบเบฐเบ•เบด; เปƒเบ™เบญเบฑเบ”เบ•เบฒเบ™เบตเป‰, เบเบฒเบ™เบฎเบฑเบšเบ›เบฐเบเบฑเบ™ TBW เบˆเบฐเป€เบเบตเบ™เบเปˆเบญเบ™เบ—เบตเปˆเป„เบฅเบเบฐเป€เบงเบฅเบฒเบเบฒเบ™เบฎเบฑเบšเบ›เบฐเบเบฑเบ™เปเบœเปˆเบ™ 5 เบ›เบตเบˆเบฐเบกเบฒเบฎเบญเบ”. เปเบฅเบฐเบ„เบญเบกเบžเบดเบงเป€เบ•เบตเบ‚เบญเบ‡เบ‚เป‰เบญเบเบšเปเปˆเบชเบฒเบกเบฒเบ”เบ‚เบฝเบ™ 93 gigabytes เบ•เปเปˆเบกเบทเป‰! เบžเบงเบเป€เบฎเบปเบฒเบ•เป‰เบญเบ‡เบเบงเบ”เป€เบšเบดเปˆเบ‡เบงเปˆเบฒเบ‚เปเป‰เบกเบนเบ™เบ–เบทเบเบ‚เบฝเบ™เบฅเบปเบ‡เปƒเบ™เปเบœเปˆเบ™เป€เบ—เบปเปˆเบฒเปƒเบ”เปƒเบ™ 10 เบ™เบฒเบ—เบต...

Total:
Writes Queued: 24,712, 2,237MiB
Writes Completed: 25,507, 2,237MiB
Write Merges: 58, 5,472KiB

2.2 GiB, เป‚เบญเป‰-เป‚เบฎ-เป‚เบฎ!

เบเบฒเบ™เบเปเบฒเบ™เบปเบ”เบˆเปเบฒเบ™เบงเบ™เบ‚เปเป‰เบกเบนเบ™เบ—เบตเปˆเบ‚เบฝเบ™เปƒเบชเปˆเบญเบธเบ›เบฐเบเบญเบ™เปเบœเปˆเบ™

เบ–เป‰เบฒเบญเบธเบ›เบฐเบเบญเบ™เบ‚เบญเบ‡เบ—เปˆเบฒเบ™เบฎเบญเบ‡เบฎเบฑเบš SMART (SSD, EMMC, เบšเบฒเบ‡ MicroSD เบญเบธเบ”เบชเบฒเบซเบฐเบเปเบฒ), เบชเบดเปˆเบ‡เบ—เปเบฒเบญเบดเบ”เบ—เบตเปˆเบ—เปˆเบฒเบ™เบ„เบงเบ™เป€เบฎเบฑเบ”เปเบกเปˆเบ™เบ‚เปเบ‚เปเป‰เบกเบนเบ™เบˆเบฒเบเป„เบ”เป‚เบ”เบเปƒเบŠเป‰เป‚เบ›เบผเปเบเบผเบกเบ•เปˆเบฒเบ‡เป†. smartctl, skdump เบซเบผเบท mmc (เบˆเบฒเบ mmc-utils).

เบ•เบปเบงเบขเปˆเบฒเบ‡เบœเบปเบ™เบœเบฐเบฅเบดเบ”เบˆเบฒเบเป‚เบ„เบ‡เบเบฒเบ™ 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.

SSD เบ‚เบญเบ‡เบ‚เป‰เบญเบเป€เบเบฑเบšเบฎเบฑเบเบชเบฒเบˆเปเบฒเบ™เบงเบ™เบ‚เปเป‰เบกเบนเบ™เบ—เบตเปˆเบ‚เบฝเบ™เป„เบงเป‰เปƒเบ™เบžเบฒเบฅเบฒเบกเบดเป€เบ•เบต 241 Total_LBAs_Written, เปƒเบ™เบšเบฅเบฑเบญเบเบ—เบตเปˆเบกเบตเป€เบซเบ”เบœเบปเบ™ (LBA) เปเบ—เบ™เบ—เบตเปˆเบˆเบฐเป€เบ›เบฑเบ™เป„เบšเบ•เปŒ. เบ‚เบฐเบซเบ™เบฒเบ”เบ‚เบญเบ‡เบ•เบฑเบ™เบขเปˆเบฒเบ‡เบกเบตเป€เบซเบ”เบœเบปเบ™เปƒเบ™เบเปเบฅเบฐเบ™เบตเบ‚เบญเบ‡เบ‚เป‰เบญเบเปเบกเปˆเบ™ 512 bytes (เบกเบฑเบ™เบชเบฒเบกเบฒเบ”เป€เบซเบฑเบ™เป„เบ”เป‰เปƒเบ™เบœเบปเบ™เบœเบฐเบฅเบดเบ” smartctl, เปƒเบ™เบ‚เบฐเบซเบ™เบฒเบ”เบ‚เบญเบ‡เบ‚เบฐเปเบซเบ™เบ‡เบเบฒเบ™). เป€เบžเบทเปˆเบญเปƒเบซเป‰เป„เบ”เป‰เบฎเบฑเบš bytes, เบ—เปˆเบฒเบ™เบˆเปเบฒเป€เบ›เบฑเบ™เบ•เป‰เบญเบ‡เป„เบ”เป‰เบ„เบนเบ™เบ„เปˆเบฒเบžเบฒเบฅเบฒเบกเบดเป€เบ•เบตเบ”เป‰เบงเบ 512.

38615215765 ร— 512 รท 1000 รท 1000 รท 1000 รท 1000 = 19,770 ะขะ‘
38615215765 ร— 512 รท 1024 รท 1024 รท 1024 รท 1024 = 17,981 ะขะธะ‘

เป‚เบ›เบฅเปเบเบฅเบก skdump เปƒเบ™ SSD เบ‚เบญเบ‡เบ‚เป‰เบญเบเบกเบฑเบ™เบžเบฐเบเบฒเบเบฒเบกเบ•เบตเบ„เบงเบฒเบกเบซเบกเบฒเบเบกเบนเบ™เบ„เปˆเบฒ Total_LBAs_Written เปƒเบ™เบ—เบฒเบ‡เบ‚เบญเบ‡เบ•เบปเบ™เป€เบญเบ‡, เบŠเบถเปˆเบ‡เป€เบ›เบฑเบ™เป€เบซเบ”เบœเบปเบ™เบ—เบตเปˆเบงเปˆเบฒเบกเบฑเบ™เบชเบฐเปเบ”เบ‡ 1296217.695 TB, เบŠเบถเปˆเบ‡เปเบ™เปˆเบ™เบญเบ™เปเบกเปˆเบ™เบšเปเปˆเบ–เบทเบเบ•เป‰เบญเบ‡.

เป€เบžเบทเปˆเบญเบŠเบญเบเบซเบฒเบˆเปเบฒเบ™เบงเบ™เบ‚เปเป‰เบกเบนเบ™เบ—เบตเปˆเบšเบฑเบ™เบ—เบถเบเป„เบงเป‰เปƒเบ™เบฅเบฐเบ”เบฑเบšเบญเบธเบ›เบฐเบเบญเบ™, เบžเบงเบเป€เบฎเบปเบฒเบˆเบฐเบ™เปเบฒเปƒเบŠเป‰เป‚เบ„เบ‡เบเบฒเบ™ btrace เบˆเบฒเบเบŠเบธเบ” blktrace. เบกเบฑเบ™เบชเบฐเปเบ”เบ‡เปƒเบซเป‰เป€เบซเบฑเบ™เบ—เบฑเบ‡เบชเบฐเบ–เบดเบ•เบดเบ—เบปเปˆเบงเป„เบ›เบชเปเบฒเบฅเบฑเบšเป„เบฅเบเบฐเป€เบงเบฅเบฒเบ—เบฑเบ‡เบซเบกเบปเบ”เบ—เบตเปˆเบ”เปเบฒเป€เบ™เบตเบ™เป‚เบ„เบ‡เบเบฒเบ™, เปเบฅเบฐเบ‚เบฐเบšเบงเบ™เบเบฒเบ™เบชเปˆเบงเบ™เบšเบธเบเบ„เบปเบ™เปเบฅเบฐเบซเบปเบงเบ‚เปเป‰ (เบฅเบงเบกเบ—เบฑเบ‡เปเบเปˆเบ™) เบ—เบตเปˆเบ”เปเบฒเป€เบ™เบตเบ™เบเบฒเบ™เบšเบฑเบ™เบ—เบถเบ.

เบ”เปเบฒเป€เบ™เบตเบ™เบเบฒเบ™เบ„เปเบฒเบชเบฑเปˆเบ‡เบ•เปเปˆเป„เบ›เบ™เบตเป‰เป€เบžเบทเปˆเบญเป€เบเบฑเบšเบเปเบฒเบ‚เปเป‰เบกเบนเบ™เปƒเบ™ 10 เบ™เบฒเบ—เบต, เบšเปˆเบญเบ™เบ—เบตเปˆ /dev/sdb เป€เบ›เบฑเบ™เปเบœเปˆเบ™เบ‚เบญเบ‡เบ—เปˆเบฒเบ™:

# btrace -w 600 -a write /dev/sdb

เบœเบปเบ™เบœเบฐเบฅเบดเบ”เบ„เปเบฒเบชเบฑเปˆเบ‡เบ›เบปเบเบเบฐเบ•เบด

โ€ฆ
  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 เบŠเปˆเบงเบเปƒเบซเป‰เบ—เปˆเบฒเบ™เบชเบฒเบกเบฒเบ”เป€เบซเบฑเบ™เป„เบ”เป‰เบŠเบฑเบ”เป€เบˆเบ™เบเปˆเบฝเบงเบเบฑเบšเบˆเปเบฒเบ™เบงเบ™เบ‚เปเป‰เบกเบนเบ™เบ—เบตเปˆเบšเบฑเบ™เบ—เบถเบเป„เบงเป‰, เปเบ•เปˆเบงเปˆเบฒเบกเบฑเบ™เป€เบ›เบฑเบ™เบเบฒเบ™เบเบฒเบเบ—เบตเปˆเบˆเบฐเป€เบ‚เบปเป‰เบฒเปƒเบˆเบงเปˆเบฒเป‚เบ„เบ‡เบเบฒเบ™เปƒเบ”เบเปเบฒเบฅเบฑเบ‡เบšเบฑเบ™เบ—เบถเบเบˆเบฒเบเบœเบปเบ™เบœเบฐเบฅเบดเบ”เบ‚เบญเบ‡เบกเบฑเบ™.

เบเบฒเบ™เบเปเบฒเบ™เบปเบ”เป‚เบ„เบ‡เบเบฒเบ™เบ—เบตเปˆเบ‚เบฝเบ™เปƒเบชเปˆเป„เบ”

เป‚เบ›เบฅเปเบเบฅเบก iotop เบˆเบฐเบชเบฐเปเบ”เบ‡เบ‚เบฐเบšเบงเบ™เบเบฒเบ™เบ‚เบฝเบ™เปƒเบชเปˆเปเบœเปˆเบ™เปเบฅเบฐเบ‚เบฐเบซเบ™เบฒเบ”เบ‚เบญเบ‡เบ‚เปเป‰เบกเบนเบ™เบ—เบตเปˆเบ‚เบฝเบ™.
เบœเบปเบ™เบœเบฐเบฅเบดเบ”เบ—เบตเปˆเบชเบฐเบ”เบงเบเบ—เบตเปˆเบชเบธเบ”เปเบกเปˆเบ™เบชเบฐเบซเบ™เบญเบ‡เปƒเบซเป‰เป‚เบ”เบเบ•เบปเบงเบเปเบฒเบ™เบปเบ”เบเบฒเบ™เบ”เบฑเปˆเบ‡เบ•เปเปˆเป„เบ›เบ™เบตเป‰:

# iotop -obPat

เบœเบปเบ™เบœเบฐเบฅเบดเบ”เป‚เบ„เบ‡เบเบฒเบ™เบ•เบปเบงเบขเปˆเบฒเบ‡

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]'

Firefox เบˆเบฑเบšเบ•เบฒเบ‚เบญเบ‡เป€เบˆเบปเป‰เบฒ, เบšเบฑเบ™เบ—เบถเบ 283 megabytes เปƒเบ™เบชเบญเบ‡เบชเบฒเบกเบ™เบฒเบ—เบตเบ‚เบญเบ‡เบเบฒเบ™เปเบฅเปˆเบ™ iotop.

เบเบฒเบ™เบเปเบฒเบ™เบปเบ”เป„เบŸเบฅเปŒเบ—เบตเปˆเบˆเบฐเบ‚เบฝเบ™เปƒเบชเปˆ

เบ‚เปเป‰เบกเบนเบ™เบเปˆเบฝเบงเบเบฑเบšเบ‚เบฐเบšเบงเบ™เบเบฒเบ™เบ—เบตเปˆเบ–เบทเบเบ‚เบปเปˆเบกเบ‚เบทเบ™เปเบœเปˆเบ™เบ”เบดเบ”เปเบกเปˆเบ™เบ”เบต, เปเบ•เปˆเป€เบชเบฑเป‰เบ™เบ—เบฒเบ‡เบ—เบตเปˆเบกเบตเบเบฒเบ™เบšเบฑเบ™เบ—เบถเบเปเบกเปˆเบ™เบ”เบตเบเบงเปˆเบฒเป€เบเบปเปˆเบฒ.

เปƒเบซเป‰เปƒเบŠเป‰เป‚เบ„เบ‡เบเบฒเบ™ fatrace, เป€เบŠเบดเปˆเบ‡เบ•เบดเบ”เบ•เบฒเบกเบเบฒเบ™เบ›เปˆเบฝเบ™เปเบ›เบ‡เบ‚เบญเบ‡เบฅเบฐเบšเบปเบšเป„เบŸเบฅเปŒ.

# fatrace -f W

เบœเบปเบ™เบœเบฐเบฅเบดเบ”เป‚เบ„เบ‡เบเบฒเบ™เบ•เบปเบงเบขเปˆเบฒเบ‡

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

Fatrace เบšเปเปˆเบชเบฒเบกเบฒเบ”เบชเบฐเปเบ”เบ‡เบˆเปเบฒเบ™เบงเบ™เบ‚เปเป‰เบกเบนเบ™เบ—เบตเปˆเบšเบฑเบ™เบ—เบถเบเป„เบงเป‰เป€เบ™เบทเปˆเบญเบ‡เบˆเบฒเบเบเบฒเบ™เบ™เปเบฒเปƒเบŠเป‰เบเบฒเบ™เบ•เบดเบ”เบ•เบฒเบกเบ—เบตเปˆเบ‡เปˆเบฒเบเบ”เบฒเบเบซเบผเบฒเบเบ‚เบญเบ‡เบ„เบงเบฒเบกเบˆเบดเบ‡เบ—เบตเปˆเบงเปˆเบฒเป„เบŸเบฅเปŒเบ–เบทเบเป€เบ‚เบปเป‰เบฒเป€เบ–เบดเบ‡เป‚เบ”เบเบœเปˆเบฒเบ™ inotify.

เบˆเบฒเบเบœเบปเบ™เบœเบฐเบฅเบดเบ”เบ—เปˆเบฒเบ™เบชเบฒเบกเบฒเบ”เป€เบšเบดเปˆเบ‡เบงเบดเบ—เบตเบเบฒเบ™ Habr เบšเบฑเบ™เบ—เบถเบเบšเบปเบ”เบ„เบงเบฒเบกเบ‚เบญเบ‡เบ‚เป‰เบญเบเบขเบนเปˆเปƒเบ™เบšเปˆเบญเบ™เป€เบเบฑเบšเบ‚เปเป‰เบกเบนเบ™เบ—เป‰เบญเบ‡เบ–เบดเปˆเบ™เบ‚เบญเบ‡เบ•เบปเบงเบ—เปˆเบญเบ‡เป€เบงเบฑเบšเปƒเบ™เบ‚เบฐเบ™เบฐเบ—เบตเปˆเบ‚เป‰เบญเบเบ‚เบฝเบ™เบกเบฑเบ™, เป€เบŠเบฑเปˆเบ™เบ”เบฝเบงเบเบฑเบ™เบเบฑเบšเบเบฒเบ™เบ‚เบฐเบซเบเบฒเบ Group Speed โ€‹โ€‹Dial, เป€เบŠเบดเปˆเบ‡, เบ”เบฑเปˆเบ‡เบ—เบตเปˆเบžเบงเบเป€เบฎเบปเบฒเบชเบฒเบกเบฒเบ”เบ„เบปเป‰เบ™เบžเบปเบšเบเบฒเบ™เปƒเบŠเป‰ fatrace, เบญเปˆเบฒเบ™เบ‚เปเป‰เบกเบนเบ™เบ‚เบญเบ‡เบกเบฑเบ™เบ—เบธเบเบ„เบฑเป‰เบ‡. 30 เบงเบดเบ™เบฒเบ—เบต. เบกเบฑเบ™เบญเปˆเบฒเบ™, เบšเปเปˆเบ‚เบฝเบ™: CW เบเปˆเบญเบ™เบ—เบตเปˆเป„เบŸเบฅเปŒเบˆเบฐเบšเบญเบเบงเปˆเบฒเป„เบŸเบฅเปŒเบ–เบทเบเป€เบ›เบตเบ”เบชเปเบฒเบฅเบฑเบšเบเบฒเบ™เบญเปˆเบฒเบ™เปเบฅเบฐเบ‚เบฝเบ™, เบžเป‰เบญเบกเบเบฑเบšเบเบฒเบ™เบชเป‰เบฒเบ‡เป„เบŸเบฅเปŒเบžเป‰เบญเบกเป†เบเบฑเบ™เบ–เป‰เบฒเบกเบฑเบ™เบ‚เบฒเบ”เบซเบฒเบเป„เบ› (เป€เบญเบตเป‰เบ™เบงเปˆเบฒ openat เบเบฑเบšเบ—เบธเบ‡ O_RDWR|O_CREAT), เปเบ•เปˆเบšเปเปˆเป„เบ”เป‰เบšเบญเบเบงเปˆเบฒเบ‚เปเป‰เบกเบนเบ™เปƒเบ”เป†เบ–เบทเบเบ‚เบฝเบ™เป„เบงเป‰เปƒเบ™เป„เบŸเบฅเปŒ.

เปƒเบ™เบเปเบฅเบฐเบ™เบตเปƒเบ”เบเปเปˆเบ•เบฒเบก, เป€เบžเบทเปˆเบญเปƒเบซเป‰เปเบ™เปˆเปƒเบˆเบงเปˆเบฒเบ™เบตเป‰, เปƒเบซเป‰เปƒเบŠเป‰ strace, เบ”เป‰เบงเบเบ•เบปเบงเบเบญเบ‡เบชเปเบฒเบฅเบฑเบšเบเบฒเบ™เป‚เบ—เบซเบฒเบฅเบฐเบšเบปเบšเป„เบŸเบฅเปŒ:

strace -yy -e trace=open,openat,close,write -f -p 15057 2>&1 | grep extension

เบœเบปเบ™เบœเบฐเบฅเบดเบ”เบ„เปเบฒเบชเบฑเปˆเบ‡

[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

เบšเปเปˆเบกเบตเบเบฒเบ™เป‚เบ— write(), เป€เบŠเบดเปˆเบ‡เบŠเบตเป‰เปƒเบซเป‰เป€เบซเบฑเบ™เบงเปˆเบฒเบšเปเปˆเบกเบตเบเบฒเบ™เป€เบ‚เบปเป‰เบฒเป„เบ›เปƒเบ™เป„เบŸเบฅเปŒ.

เบเบฒเบ™เบเปเบฒเบ™เบปเบ”เบฅเบฐเบšเบปเบšเป„เบŸเบฅเปŒเป€เบเบตเบ™

เบ„เบงเบฒเบกเปเบ•เบเบ•เปˆเบฒเบ‡เบ—เบตเปˆเปƒเบซเบเปˆเบซเบผเบงเบ‡เปƒเบ™เบเบฒเบ™เบญเปˆเบฒเบ™ iotop ะธ btrace เปƒเบซเป‰เบ‚เป‰เบญเบเบ„เบดเบ”เบ—เบตเปˆเบˆเบฐเบ—เบปเบ”เบชเบญเบšเบฅเบฐเบšเบปเบšเป„เบŸเบฅเปŒเป‚เบ”เบเบเบฒเบ™เบ‚เบฝเบ™เบ‚เปเป‰เบกเบนเบ™เบ”เป‰เบงเบเบ•เบปเบ™เป€เบญเบ‡เปƒเบชเปˆเป„เบŸเบฅเปŒเปเบฅเบฐเบ•เบดเบ”เบ•เบฒเบกเบเบฒเบ™เบญเปˆเบฒเบ™ btrace.

เบ–เป‰เบฒโ€‹เบซเบฒเบโ€‹เบงเปˆเบฒโ€‹เบ—เปˆเบฒเบ™โ€‹เบเบปเบโ€‹เป€เบงเบฑเป‰เบ™โ€‹เบ—เบฑเบ‡โ€‹เบซเบกเบปเบ”โ€‹เบเบฒเบ™โ€‹เบ‚เบฝเบ™โ€‹เปƒเบชเปˆโ€‹เปเบœเปˆเบ™โ€‹เป‚เบ”เบโ€‹เบเบฒเบ™ booting เป€เบ‚เบปเป‰เบฒโ€‹เป„เบ›โ€‹เปƒเบ™โ€‹เบฎเบนเบšโ€‹เปเบšเบšโ€‹เบเบฒเบ™โ€‹เบชเบธเบโ€‹เป€เบชเบตเบ™โ€‹เบ‚เบญเบ‡โ€‹เบฅเบฐโ€‹เบšเบปเบšโ€‹เปเบฅเบฐโ€‹เบ‚เบฝเบ™โ€‹เบ”เป‰เบงเบโ€‹เบ•เบปเบ™โ€‹เป€เบญเบ‡โ€‹ เบชเบญเบ‡เบชเบฒเบก bytes เบ‚เปเป‰เบกเบนเบ™เป„เบ›เบเบฑเบ‡เป„เบŸเบฅเปŒเบ—เบตเปˆเบกเบตเบขเบนเปˆเปเบฅเป‰เบง, btrace เบเบฑเบš SSD เบˆเบฒเบ btrfs เบฅเบฒเบโ€‹เบ‡เบฒเบ™โ€‹เบเบฒเบ™โ€‹เบšเบฑเบ™โ€‹เบ—เบถเบโ€‹ 3 เป€เบกเบเบฐเป„เบš เบ‚เปเป‰โ€‹เบกเบนเบ™โ€‹เบ—เบตเปˆโ€‹เปเบ—เป‰โ€‹เบˆเบดเบ‡โ€‹. เบฅเบฐเบšเบปเบšเป„เบŸเบฅเปŒเบ—เบตเปˆเบชเป‰เบฒเบ‡เบ‚เบถเป‰เบ™เปƒเปเปˆเปƒเบ™เปเบŸเบฅเบ”เป„เบ” 8 GB เบ‚เบฝเบ™เบ•เปเบฒเปˆเบชเบธเบ”เบ—เบตเปˆ 264 KiB เป€เบกเบทเปˆเบญเบ‚เบฝเบ™เบซเบ™เบถเปˆเบ‡เป„เบšเบ•เปŒ.
เบชเปเบฒเบฅเบฑเบšเบเบฒเบ™เบ›เบฝเบšเบ—เบฝเบš, เบเบฒเบ™เบ‚เบฝเบ™เบชเบญเบ‡เบชเบฒเบกเป„เบšเบ•เปเปˆเป„เบŸเบฅเปŒเปƒเบ™ ext4 เบชเบดเป‰เบ™เบชเบธเบ”เบฅเบปเบ‡เป€เบ–เบดเบ‡เบเบฒเบ™เบ‚เบฝเบ™เบ‚เปเป‰เบกเบนเบ™ 24 เบเบดเป‚เบฅเป„เบšเบ•เปเปˆเปเบœเปˆเบ™.

เปƒเบ™เบ›เบต 2017, Jayashree Mohan, Rohan Kadekodi เปเบฅเบฐ Vijay Chidambaram เป„เบ”เป‰เบ”เปเบฒเป€เบ™เบตเบ™เบเบฒเบ™เบชเบถเบเบชเบฒเบเบฒเบ™เบ‚เบฐเบซเบเบฒเบเบเบฒเบ™เบ‚เบฝเบ™เบ‚เบญเบ‡เบฅเบฐเบšเบปเบšเป„เบŸเบฅเปŒเบ—เบตเปˆเปเบ•เบเบ•เปˆเบฒเบ‡เบเบฑเบ™, เบœเบปเบ™เป„เบ”เป‰เบฎเบฑเบšเบ‚เบญเบ‡เบžเบงเบเป€เบ‚เบปเบฒเบชเปเบฒเบฅเบฑเบš btrfs เปเบฅเบฐ ext4 เบขเบนเปˆ 4KB writes เปเบกเปˆเบ™เบชเบญเบ”เบ„เปˆเบญเบ‡เบเบฑเบšเบ‚เบญเบ‡เบ‚เป‰เบญเบ.

เบเบฒเบ™เบเปเบฒเบ™เบปเบ”เบ‚เบฐเบšเบงเบ™เบเบฒเบ™เบ—เบตเปˆเบกเบตเบเบฒเบ™เป€เบ„เบทเปˆเบญเบ™เป„เบซเบงเบ‚เบญเบ‡เปเบœเปˆเบ™เปƒเบ™ Linux

เบชเบฐเบซเบผเบธเบšเปเบฅเบฐเบชเบฐเบซเบผเบธเบš

เป‚เบ”เบเบœเปˆเบฒเบ™เบเบฒเบ™เบซเบกเบนเบ™เปƒเบŠเป‰เบ—เบตเปˆเบญเบฐเบ—เบดเบšเบฒเบ, เบกเบฑเบ™เป„เบ”เป‰เบ–เบทเบเบ„เบปเป‰เบ™เบžเบปเบš:

  1. เบเบฒเบ™เบšเบฑเบ™เบ—เบถเบเบเบฒเบ™เป€เบฎเบฑเบ”เบงเบฝเบเบ‚เบญเบ‡เป€เบ„เบทเปˆเบญเบ‡เบžเบดเบกเป€เบฅเบทเป‰เบญเบเป†เป‚เบ”เบ CUPS print daemon เป€เบ›เบฑเบ™ /var/เบ–เบฒเบ™เบ„เบงเบฒเบกเบˆเปเบฒ/ เบˆเบญเบเบ—เบธเบเป†เบ™เบฒเบ—เบต. เบšเบฑเบ™เบซเบฒเป„เบ”เป‰เบ–เบทเบเปเบเป‰เป„เบ‚เป‚เบ”เบเบเบฒเบ™เบฅเบถเบšเบฅเป‰เบฒเบ‡ /var/spool/cups (เป€เบ–เบดเบ‡เปเบกเปˆเบ™เบงเปˆเบฒเบšเปเปˆเบกเบตเบงเบฝเบเบžเบดเบก);
  2. เบ„เบงเบฒเบกเบˆเบดเบ‡เบ—เบตเปˆเบงเปˆเบฒเบ–เบฒเบ™เบ‚เปเป‰เบกเบนเบ™เบ–เบทเบเบญเปˆเบฒเบ™เบ—เบธเบเป† 30 เบงเบดเบ™เบฒเบ—เบตเป‚เบ”เบเบเบฒเบ™เบ‚เบฐเบซเบเบฒเบ Group Speed โ€‹โ€‹Dial เบชเปเบฒเบฅเบฑเบš Firefox;
  3. เบเบฒเบ™เบšเบฑเบ™เบ—เบถเบเปเบ•เปˆเบฅเบฐเป„เบฅเบเบฐเป‚เบ”เบเบเบฒเบ™เบšเปเบฅเบดเบเบฒเบ™เบ•เบดเบ”เบ•เบฒเบกเบเบฒเบ™เบ›เบฐเบ•เบดเบšเบฑเบ”เบ•เปˆเบฒเบ‡เป†เปƒเบ™ Fedora, เบชเบปเปˆเบ‡เบœเบปเบ™เปƒเบซเป‰เบ‚เปเป‰เบกเบนเบ™เบซเบผเบฒเบ megabytes เบ–เบทเบเบ‚เบฝเบ™เปƒเบชเปˆ btrfs: pmcd.service, pmie.service, pmlogger.service;
  4. เบเบฒเบ™เบ‚เบฐเบซเบเบฒเบเปƒเบซเบเปˆเบซเบผเบงเบ‡เปƒเบ™เป€เบงเบฅเบฒเบ—เบตเปˆเบ‚เบฝเบ™เบ‚เปเป‰เบกเบนเบ™เบ‚เบฐเบซเบ™เบฒเบ”เบ™เป‰เบญเบเป‚เบ”เบเปƒเบŠเป‰ btrfs.

เบชเบฐเบซเบผเบธเบš: เบ—เปˆเบฒเบ™เบšเปเปˆเบ„เบงเบ™เปƒเบŠเป‰ btrfs เบ–เป‰เบฒเป‚เบ›เบผเปเบเบผเบกเบกเบฑเบเบˆเบฐเบ‚เบฝเบ™เบ‚เปเป‰เบกเบนเบ™เบ™เป‰เบญเบเป† (เบชเบญเบ‡เบชเบฒเบกเบเบดเป‚เบฅเป„เบš), เบ–เป‰เบฒเบšเปเปˆเบ”เบฑเปˆเบ‡เบ™เบฑเป‰เบ™เบกเบฑเบ™เบˆเบฐเบชเบปเปˆเบ‡เบœเบปเบ™เปƒเบซเป‰ megabytes เบ‚เบญเบ‡เบ‚เปเป‰เบกเบนเบ™เบฅเบฒเบเบฅเบฑเบเบญเบฑเบเบชเบญเบ™. เบ™เบตเป‰เปเบกเปˆเบ™เบ„เบงเบฒเบกเบˆเบดเบ‡เป‚เบ”เบเบชเบฐเป€เบžเบฒเบฐเบชเปเบฒเบฅเบฑเบšเบ„เบญเบกเบžเบดเบงเป€เบ•เบตเบเบฐเบ”เบฒเบ™เบ”เบฝเบงเบ—เบตเปˆเบกเบต OS เปƒเบ™ MicroSD.

เปเบซเบผเปˆเบ‡เบ‚เปเป‰เบกเบนเบ™: www.habr.com

เป€เบžเบตเปˆเบกเบ„เบงเบฒเบกเบ„เบดเบ”เป€เบซเบฑเบ™