Π˜Π΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΡ†ΠΈΡ€Π°Π½Π΅ Π½Π° процСси с дискова активност Π² Linux

TL; DR: Бтатията Π³ΠΎΠ²ΠΎΡ€ΠΈ Π·Π° ΡƒΠ΄ΠΎΠ±Π΅Π½, Π±ΡŠΡ€Π· ΠΈ Π½Π°Π΄Π΅ΠΆΠ΄Π΅Π½ Π½Π°Ρ‡ΠΈΠ½ Π·Π° ΠΈΠ΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΡ†ΠΈΡ€Π°Π½Π΅ Π½Π° Linux ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΈ, ΠΊΠΎΠΈΡ‚ΠΎ записват Π΄Π°Π½Π½ΠΈ Π½Π° диск, ΠΊΠΎΠ΅Ρ‚ΠΎ ΠΏΠΎΠΌΠ°Π³Π° ΠΏΡ€ΠΈ ΠΈΠ΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΡ†ΠΈΡ€Π°Π½Π΅Ρ‚ΠΎ Π½Π° голямо ΠΈΠ»ΠΈ Π½Π΅ΠΎΠ±ΠΈΡ‡Π°ΠΉΠ½ΠΎ чСсто Π½Π°Ρ‚ΠΎΠ²Π°Ρ€Π²Π°Π½Π΅ Π½Π° дисковата подсистСма ΠΈ ΡΡŠΡ‰ΠΎ Ρ‚Π°ΠΊΠ° Π²ΠΈ позволява Π΄Π° ΠΎΡ†Π΅Π½ΠΈΡ‚Π΅ Ρ€Π΅ΠΆΠΈΠΉΠ½ΠΈΡ‚Π΅ Ρ€Π°Π·Ρ…ΠΎΠ΄ΠΈ Π½Π° Ρ„Π°ΠΉΠ»ΠΎΠ²Π°Ρ‚Π° систСма. Π’ΠΎΠ²Π° Π΅ особСно вярно Π·Π° SSD Π² ΠΊΠΎΠΌΠΏΡŽΡ‚Ρ€ΠΈ, EMMC ΠΈ Ρ„Π»Π°Ρˆ ΠΏΠ°ΠΌΠ΅Ρ‚ Π² Π΅Π΄Π½ΠΎΠΏΠ»Π°Ρ‚ΠΊΠΎΠ²ΠΈ ΠΊΠΎΠΌΠΏΡŽΡ‚Ρ€ΠΈ.
Π”ΠΎΠΊΠ°Ρ‚ΠΎ ΠΏΠΈΡˆΠ΅Ρ… Ρ‚Π°Π·ΠΈ статия, ΠΎΡ‚ΠΊΡ€ΠΈΡ…, Ρ‡Π΅ записванСто Π½Π° няколко ΠΊΠΈΠ»ΠΎΠ±Π°ΠΉΡ‚Π° Π΄Π°Π½Π½ΠΈ във Ρ„Π°ΠΉΠ»ΠΎΠ²Π°Ρ‚Π° систСма BTRFS Π²ΠΎΠ΄ΠΈ Π΄ΠΎ записванС Π½Π° 3 ΠΌΠ΅Π³Π°Π±Π°ΠΉΡ‚Π° Ρ€Π΅Π°Π»Π½ΠΈ Π΄Π°Π½Π½ΠΈ Π½Π° диск.

въвСдСниС

β€žΠž, глупости, ΠΊΠ»Π΅Ρ‚ΠΊΠΈΡ‚Π΅ с ΠΏΠ°ΠΌΠ΅Ρ‚ Π½Π° ΡΡŠΠ²Ρ€Π΅ΠΌΠ΅Π½Π½ΠΈΡ‚Π΅ SSD дисковС Ρ‰Π΅ сС поврСдят слСд дСсСтилСтия Π½ΠΎΡ€ΠΌΠ°Π»Π½Π° ΡƒΠΏΠΎΡ‚Ρ€Π΅Π±Π°, Π½Π΅ сС притСснявайтС Π·Π° Ρ‚ΠΎΠ²Π°, ΠΎΡ‰Π΅ ΠΏΠΎ-ΠΌΠ°Π»ΠΊΠΎ Π·Π° ΠΏΡ€Π΅Ρ…Π²ΡŠΡ€Π»ΡΠ½Π΅ Π½Π° суап, Π²ΠΈΡ€Ρ‚ΡƒΠ°Π»Π½ΠΈ машини ΠΈ ΠΏΠ°ΠΏΠΊΠ°Ρ‚Π° Π½Π° ΠΏΡ€ΠΎΡ„ΠΈΠ»Π° Π½Π° Π±Ρ€Π°ΡƒΠ·ΡŠΡ€Π° към Ρ‚Π²ΡŠΡ€Π΄ΠΈΡ Π΄ΠΈΡΠΊβ€œ - Ρ‚ΠΈΠΏΠΈΡ‡Π΅Π½ ΠΎΡ‚Π³ΠΎΠ²ΠΎΡ€ Π½Π° Π²ΡŠΠΏΡ€ΠΎΡΠ° Π·Π° надСТдността Π½Π° Ρ‚Π²ΡŠΡ€Π΄ΠΎΡ‚Π΅Π»Π½ΠΈΡ‚Π΅ дисковС с Π³Π°Ρ€Π°Π½Ρ‚ΠΈΡ€Π°Π½ΠΈ β‰ˆ150 TBW. Ако ΠΏΡ€Π΅Ρ†Π΅Π½ΠΈΡ‚Π΅ ΠΊΠΎΠ»ΠΊΠΎ Π΄Π°Π½Π½ΠΈ ΠΌΠΎΠΆΠ΅ Π΄Π° напишС Ρ‚ΠΈΠΏΠΈΡ‡Π΅Π½ софтуСр, ΠΈΠ·Π³Π»Π΅ΠΆΠ΄Π°, Ρ‡Π΅ 10-20 GB Π½Π° Π΄Π΅Π½ Π²Π΅Ρ‡Π΅ Π΅ голяма Ρ†ΠΈΡ„Ρ€Π°, Π½Π΅ΠΊΠ° ΠΈΠΌΠ° максимум 40 GB, ΠΌΠ½ΠΎΠ³ΠΎ ΠΏΠΎΠ²Π΅Ρ‡Π΅. ΠšΠ°Ρ‚ΠΎ сС ΠΈΠΌΠ°Ρ‚ ΠΏΡ€Π΅Π΄Π²ΠΈΠ΄ Ρ‚Π΅Π·ΠΈ числа, ΠΎΡ‚Π³ΠΎΠ²ΠΎΡ€ΡŠΡ‚ Π΅ съвсСм Ρ€Π°Π·ΡƒΠΌΠ΅Π½ - Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΈ са 10 Π³ΠΎΠ΄ΠΈΠ½ΠΈ, Π·Π° Π΄Π° сС постигнС Π³Π°Ρ€Π°Π½Ρ‚ΠΈΡ€Π°Π½ΠΎ стойности Π·Π° броя Π½Π° прСзаписанитС ΠΊΠ»Π΅Ρ‚ΠΊΠΈ, с 40 GB записани Π΄Π°Π½Π½ΠΈ Π΄Π½Π΅Π²Π½ΠΎ.
Π’ΡŠΠΏΡ€Π΅ΠΊΠΈ Ρ‚ΠΎΠ²Π°, слСд 6 Π³ΠΎΠ΄ΠΈΠ½ΠΈ Π²Π΅Ρ‡Π΅ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°ΠΌ трСтия си SSD: ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π΅Ρ€ΡŠΡ‚ Π½Π° ΠΏΡŠΡ€Π²ΠΈΡ сС ΠΏΠΎΠ²Ρ€Π΅Π΄ΠΈ, Π° вторият Π·Π°ΠΏΠΎΡ‡Π½Π° Π΄Π° прСмСства Π΄Π°Π½Π½ΠΈ ΠΌΠ΅ΠΆΠ΄Ρƒ ΠΊΠ»Π΅Ρ‚ΠΊΠΈΡ‚Π΅ няколко ΠΏΡŠΡ‚ΠΈ Π½Π° Π΄Π΅Π½, ΠΊΠΎΠ΅Ρ‚ΠΎ Π΄ΠΎΠ²Π΅Π΄Π΅ Π΄ΠΎ 30-сСкундни закъснСния Π² услугата Π·Π° запис.

Π‘Π»Π΅Π΄ 7 мСсСца ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Π½Π΅ Π½Π° Π½ΠΎΠ²ΠΎΡ‚ΠΎ SSD, Ρ€Π΅ΡˆΠΈΡ… Π΄Π° провСря количСството записани Π΄Π°Π½Π½ΠΈ, ΠΊΠ°ΠΊΡ‚ΠΎ сС ΠΎΡ‚Ρ‡ΠΈΡ‚Π° ΠΎΡ‚ самото устройство Ρ‡Ρ€Π΅Π· SMART.
19.7 TB.
Π‘Π°ΠΌΠΎ Π·Π° 7 мСсСца ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Ρ… 13% ΠΎΡ‚ Π³Π°Ρ€Π°Π½Ρ‚ΠΈΡ€Π°Π½ΠΎΡ‚ΠΎ количСство записани Π΄Π°Π½Π½ΠΈ, Π²ΡŠΠΏΡ€Π΅ΠΊΠΈ Ρ„Π°ΠΊΡ‚Π°, Ρ‡Π΅ Π΅ ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€ΠΈΡ€Π°Π½ Π² ΡΡŠΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΠΈΠ΅ с ΠΏΡ€Π΅ΠΏΠΎΡ€ΡŠΠΊΠΈΡ‚Π΅ Π·Π° подравняванС Π½Π° дяловС ΠΈ настройка Π½Π° FS, ΠΏΠΎΡ‡Ρ‚ΠΈ Π½ΠΈΠΊΠΎΠ³Π° Π½Π΅ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°ΠΌ суап, дисковСтС Π½Π° Π²ΠΈΡ€Ρ‚ΡƒΠ°Π»Π½Π°Ρ‚Π° машина са Ρ€Π°Π·ΠΏΠΎΠ»ΠΎΠΆΠ΅Π½ΠΈ Π½Π° HDD!
Π’ΠΎΠ²Π° Π΅ Π½Π΅ΠΎΠ±ΠΈΡ‡Π°ΠΉΠ½ΠΎ голяма Ρ†ΠΈΡ„Ρ€Π°; ΠΏΡ€ΠΈ Ρ‚Π°Π·ΠΈ скорост гаранционният TBW Ρ‰Π΅ бъдС надвишСн ΠΏΡ€Π΅Π΄ΠΈ достиганСто Π½Π° 5-годишния Π³Π°Ρ€Π°Π½Ρ†ΠΈΠΎΠ½Π΅Π½ ΠΏΠ΅Ρ€ΠΈΠΎΠ΄ Π½Π° диска. И моят ΠΊΠΎΠΌΠΏΡŽΡ‚ΡŠΡ€ Π½Π΅ ΠΌΠΎΠΆΠ΅ Π΄Π° пишС 93 Π³ΠΈΠ³Π°Π±Π°ΠΉΡ‚Π° Π½Π° Π΄Π΅Π½! Врябва Π΄Π° ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΈΠΌ ΠΊΠΎΠ»ΠΊΠΎ Π΄Π°Π½Π½ΠΈ сС записват Π½Π° диска Π·Π° 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 Π±Π°ΠΉΡ‚Π° (ΠΌΠΎΠΆΠ΅ Π΄Π° сС Π²ΠΈΠ΄ΠΈ Π² ΠΈΠ·Ρ…ΠΎΠ΄Π° Π½Π° smartctl, Π² Sector Size). Π—Π° Π΄Π° ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚Π΅ Π±Π°ΠΉΡ‚ΠΎΠ²Π΅, трябва Π΄Π° ΡƒΠΌΠ½ΠΎΠΆΠΈΡ‚Π΅ стойността Π½Π° ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚ΡŠΡ€Π° ΠΏΠΎ 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 ΠΌΠ΅Π³Π°Π±Π°ΠΉΡ‚Π° Π·Π° няколко ΠΌΠΈΠ½ΡƒΡ‚ΠΈ Ρ€Π°Π±ΠΎΡ‚Π° Π½Π° 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.

Ако напълно ΠΈΠ·ΠΊΠ»ΡŽΡ‡ΠΈΡ‚Π΅ записа Π½Π° диска, ΠΊΠ°Ρ‚ΠΎ стартиратС Π² Π°Π²Π°Ρ€ΠΈΠ΅Π½ Ρ€Π΅ΠΆΠΈΠΌ systemd ΠΈ ΠΏΠΈΡˆΠ΅Ρ‚Π΅ Ρ€ΡŠΡ‡Π½ΠΎ няколко Π±Π°ΠΉΡ‚Π° Π΄Π°Π½Π½ΠΈ към ΡΡŠΡ‰Π΅ΡΡ‚Π²ΡƒΠ²Π°Ρ‰ Ρ„Π°ΠΉΠ», btrace към SSD ΠΎΡ‚ Btrfs запис Π½Π° ΠΎΡ‚Ρ‡Π΅Ρ‚ΠΈ 3 ΠΌΠ΅Π³Π°Π±Π°ΠΉΡ‚ΠΈ Ρ€Π΅Π°Π»Π½ΠΈ Π΄Π°Π½Π½ΠΈ. ΠŸΡ€ΡΡΠ½ΠΎ създадСна Ρ„Π°ΠΉΠ»ΠΎΠ²Π° систСма Π½Π° 8 GB Ρ„Π»Π°Ρˆ устройство записва ΠΌΠΈΠ½ΠΈΠΌΡƒΠΌ 264 KiB ΠΏΡ€ΠΈ запис Π½Π° Π΅Π΄ΠΈΠ½ Π±Π°ΠΉΡ‚.
Π—Π° сравнСниС, записванСто Π½Π° няколко Π±Π°ΠΉΡ‚Π° във Ρ„Π°ΠΉΠ» Π½Π° ext4 Π·Π°Π²ΡŠΡ€ΡˆΠ²Π° със записванС Π½Π° 24 ΠΊΠΈΠ»ΠΎΠ±Π°ΠΉΡ‚Π° Π΄Π°Π½Π½ΠΈ Π½Π° диск.

ΠŸΡ€Π΅Π· 2017 Π³. Π”ΠΆΠ°ΡΡˆΡ€ΠΈ ΠœΠΎΡ…Π°Π½, Π ΠΎΡ…Π°Π½ КадСкоди ΠΈ Π’ΠΈΠ΄ΠΆΠ°ΠΉ Π§ΠΈΠ΄Π°ΠΌΠ±Π°Ρ€Π°ΠΌ ΠΏΡ€ΠΎΠ²Π΅Π΄Π΅ ΠΏΡ€ΠΎΡƒΡ‡Π²Π°Π½Π΅ Π½Π° усилванСто Π½Π° запис Π½Π° Ρ€Π°Π·Π»ΠΈΡ‡Π½ΠΈ Ρ„Π°ΠΉΠ»ΠΎΠ²ΠΈ систСми, Ρ‚Π΅Ρ…Π½ΠΈΡ‚Π΅ Ρ€Π΅Π·ΡƒΠ»Ρ‚Π°Ρ‚ΠΈ Π·Π° btrfs ΠΈ ext4 ΠΏΡ€ΠΈ 4KB записи са Π² ΡΡŠΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΠΈΠ΅ с ΠΌΠΎΠΈΡ‚Π΅.

Π˜Π΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΡ†ΠΈΡ€Π°Π½Π΅ Π½Π° процСси с дискова активност Π² Linux

Π—Π°ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅ ΠΈ Π·Π°ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅

Π§Ρ€Π΅Π· описанитС ΠΌΠ°Π½ΠΈΠΏΡƒΠ»Π°Ρ†ΠΈΠΈ сС установи:

  1. ЧСсто рСгистриранС Π½Π° ΡΡŠΡΡ‚ΠΎΡΠ½ΠΈΡ Π½Π° задания Π·Π° ΠΏΡ€ΠΈΠ½Ρ‚Π΅Ρ€ ΠΎΡ‚ Π΄Π΅ΠΌΠΎΠ½Π° Π·Π° ΠΏΠ΅Ρ‡Π°Ρ‚ CUPS Π² /var/скривалищС/Ρ‡Π°ΡˆΠΈ всяка ΠΌΠΈΠ½ΡƒΡ‚Π°. ΠŸΡ€ΠΎΠ±Π»Π΅ΠΌΡŠΡ‚ бСшС Ρ€Π΅ΡˆΠ΅Π½ Ρ‡Ρ€Π΅Π· изчистванС Π½Π° /var/ΠΌΠ°ΠΊΠ°Ρ€Π°/Ρ‡Π°ΡˆΠΈ (Π²ΡŠΠΏΡ€Π΅ΠΊΠΈ Ρ‡Π΅ нямашС задания Π·Π° ΠΏΠ΅Ρ‡Π°Ρ‚);
  2. Π€Π°ΠΊΡ‚ΡŠΡ‚, Ρ‡Π΅ Π±Π°Π·Π°Ρ‚Π° Π΄Π°Π½Π½ΠΈ сС Ρ‡Π΅Ρ‚Π΅ Π½Π° всСки 30 сСкунди ΠΎΡ‚ Ρ€Π°Π·ΡˆΠΈΡ€Π΅Π½ΠΈΠ΅Ρ‚ΠΎ Group Speed ​​​​Dial Π·Π° Firefox;
  3. ΠŸΠ΅Ρ€ΠΈΠΎΠ΄ΠΈΡ‡Π½ΠΎ рСгистриранС ΠΎΡ‚ Ρ€Π°Π·Π»ΠΈΡ‡Π½ΠΈ услуги Π·Π° прослСдяванС Π½Π° производитСлността във Fedora, ΠΊΠΎΠ΅Ρ‚ΠΎ Π²ΠΎΠ΄ΠΈ Π΄ΠΎ записванС Π½Π° няколко ΠΌΠ΅Π³Π°Π±Π°ΠΉΡ‚Π° Π΄Π°Π½Π½ΠΈ Π² btrfs: pmcd.service, pmie.service, pmlogger.service;
  4. ΠžΠ³Ρ€ΠΎΠΌΠ½ΠΎ усилванС ΠΏΡ€ΠΈ писанС Π½Π° ΠΌΠ°Π»ΠΊΠΎ количСство Π΄Π°Π½Π½ΠΈ с ΠΏΠΎΠΌΠΎΡ‰Ρ‚Π° Π½Π° btrfs.

Π—Π°ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅: Π½Π΅ трябва Π΄Π° ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Ρ‚Π΅ btrfs, Π°ΠΊΠΎ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΈΡ‚Π΅ чСсто записват ΠΌΠ°Π»ΠΊΠΎ количСство Π΄Π°Π½Π½ΠΈ (няколко ΠΊΠΈΠ»ΠΎΠ±Π°ΠΉΡ‚Π°), Π² ΠΏΡ€ΠΎΡ‚ΠΈΠ²Π΅Π½ случай Ρ‚ΠΎΠ²Π° Ρ‰Π΅ Π΄ΠΎΠ²Π΅Π΄Π΅ Π΄ΠΎ ΠΌΠ΅Π³Π°Π±Π°ΠΉΡ‚ΠΈ записани Π΄Π°Π½Π½ΠΈ. Π’ΠΎΠ²Π° Π²Π°ΠΆΠΈ особСно Π·Π° Π΅Π΄Π½ΠΎΠΏΠ»Π°Ρ‚ΠΊΠΎΠ²ΠΈ ΠΊΠΎΠΌΠΏΡŽΡ‚Ρ€ΠΈ с ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΎΠ½Π½Π° систСма Π½Π° MicroSD.

Π˜Π·Ρ‚ΠΎΡ‡Π½ΠΈΠΊ: www.habr.com

ДобавянС Π½Π° Π½ΠΎΠ² ΠΊΠΎΠΌΠ΅Π½Ρ‚Π°Ρ€