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 Π³. ΠΠΆΠ°ΡΡΡΠΈ ΠΠΎΡ
Π°Π½, Π ΠΎΡ
Π°Π½ ΠΠ°Π΄Π΅ΠΊΠΎΠ΄ΠΈ ΠΈ ΠΠΈΠ΄ΠΆΠ°ΠΉ Π§ΠΈΠ΄Π°ΠΌΠ±Π°ΡΠ°ΠΌ
ΠΠ°ΠΊΠ»ΡΡΠ΅Π½ΠΈΠ΅ ΠΈ Π·Π°ΠΊΠ»ΡΡΠ΅Π½ΠΈΠ΅
Π§ΡΠ΅Π· ΠΎΠΏΠΈΡΠ°Π½ΠΈΡΠ΅ ΠΌΠ°Π½ΠΈΠΏΡΠ»Π°ΡΠΈΠΈ ΡΠ΅ ΡΡΡΠ°Π½ΠΎΠ²ΠΈ:
- Π§Π΅ΡΡΠΎ ΡΠ΅Π³ΠΈΡΡΡΠΈΡΠ°Π½Π΅ Π½Π° ΡΡΡΡΠΎΡΠ½ΠΈΡ Π½Π° Π·Π°Π΄Π°Π½ΠΈΡ Π·Π° ΠΏΡΠΈΠ½ΡΠ΅Ρ ΠΎΡ Π΄Π΅ΠΌΠΎΠ½Π° Π·Π° ΠΏΠ΅ΡΠ°Ρ CUPS Π² /var/ΡΠΊΡΠΈΠ²Π°Π»ΠΈΡΠ΅/ΡΠ°ΡΠΈ Π²ΡΡΠΊΠ° ΠΌΠΈΠ½ΡΡΠ°. ΠΡΠΎΠ±Π»Π΅ΠΌΡΡ Π±Π΅ΡΠ΅ ΡΠ΅ΡΠ΅Π½ ΡΡΠ΅Π· ΠΈΠ·ΡΠΈΡΡΠ²Π°Π½Π΅ Π½Π° /var/ΠΌΠ°ΠΊΠ°ΡΠ°/ΡΠ°ΡΠΈ (Π²ΡΠΏΡΠ΅ΠΊΠΈ ΡΠ΅ Π½ΡΠΌΠ°ΡΠ΅ Π·Π°Π΄Π°Π½ΠΈΡ Π·Π° ΠΏΠ΅ΡΠ°Ρ);
- Π€Π°ΠΊΡΡΡ, ΡΠ΅ Π±Π°Π·Π°ΡΠ° Π΄Π°Π½Π½ΠΈ ΡΠ΅ ΡΠ΅ΡΠ΅ Π½Π° Π²ΡΠ΅ΠΊΠΈ 30 ΡΠ΅ΠΊΡΠ½Π΄ΠΈ ΠΎΡ ΡΠ°Π·ΡΠΈΡΠ΅Π½ΠΈΠ΅ΡΠΎ Group Speed ββββDial Π·Π° Firefox;
- ΠΠ΅ΡΠΈΠΎΠ΄ΠΈΡΠ½ΠΎ ΡΠ΅Π³ΠΈΡΡΡΠΈΡΠ°Π½Π΅ ΠΎΡ ΡΠ°Π·Π»ΠΈΡΠ½ΠΈ ΡΡΠ»ΡΠ³ΠΈ Π·Π° ΠΏΡΠΎΡΠ»Π΅Π΄ΡΠ²Π°Π½Π΅ Π½Π° ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»Π½ΠΎΡΡΡΠ° Π²ΡΠ² Fedora, ΠΊΠΎΠ΅ΡΠΎ Π²ΠΎΠ΄ΠΈ Π΄ΠΎ Π·Π°ΠΏΠΈΡΠ²Π°Π½Π΅ Π½Π° Π½ΡΠΊΠΎΠ»ΠΊΠΎ ΠΌΠ΅Π³Π°Π±Π°ΠΉΡΠ° Π΄Π°Π½Π½ΠΈ Π² btrfs: pmcd.service, pmie.service, pmlogger.service;
- ΠΠ³ΡΠΎΠΌΠ½ΠΎ ΡΡΠΈΠ»Π²Π°Π½Π΅ ΠΏΡΠΈ ΠΏΠΈΡΠ°Π½Π΅ Π½Π° ΠΌΠ°Π»ΠΊΠΎ ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²ΠΎ Π΄Π°Π½Π½ΠΈ Ρ ΠΏΠΎΠΌΠΎΡΡΠ° Π½Π° btrfs.
ΠΠ°ΠΊΠ»ΡΡΠ΅Π½ΠΈΠ΅: Π½Π΅ ΡΡΡΠ±Π²Π° Π΄Π° ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°ΡΠ΅ btrfs, Π°ΠΊΠΎ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΈΡΠ΅ ΡΠ΅ΡΡΠΎ Π·Π°ΠΏΠΈΡΠ²Π°Ρ ΠΌΠ°Π»ΠΊΠΎ ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²ΠΎ Π΄Π°Π½Π½ΠΈ (Π½ΡΠΊΠΎΠ»ΠΊΠΎ ΠΊΠΈΠ»ΠΎΠ±Π°ΠΉΡΠ°), Π² ΠΏΡΠΎΡΠΈΠ²Π΅Π½ ΡΠ»ΡΡΠ°ΠΉ ΡΠΎΠ²Π° ΡΠ΅ Π΄ΠΎΠ²Π΅Π΄Π΅ Π΄ΠΎ ΠΌΠ΅Π³Π°Π±Π°ΠΉΡΠΈ Π·Π°ΠΏΠΈΡΠ°Π½ΠΈ Π΄Π°Π½Π½ΠΈ. Π’ΠΎΠ²Π° Π²Π°ΠΆΠΈ ΠΎΡΠΎΠ±Π΅Π½ΠΎ Π·Π° Π΅Π΄Π½ΠΎΠΏΠ»Π°ΡΠΊΠΎΠ²ΠΈ ΠΊΠΎΠΌΠΏΡΡΡΠΈ Ρ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΎΠ½Π½Π° ΡΠΈΡΡΠ΅ΠΌΠ° Π½Π° MicroSD.
ΠΠ·ΡΠΎΡΠ½ΠΈΠΊ: www.habr.com