View Full Version : SSD usato come swap e usura
mortimer7
01-06-2023, 12:09
ciao,
volevo chiedervi se usare l'SSD come swap può provocare un'usura eccessiva.
io ho solo 8GB di RAM ma un certo gioco per funzionare bene ne richiede almeno 12, quindi ho creato un file swap da 8GB (su linux). Penso che ci giocherò circa 50 ore. Rischio di rovinarlo?
L'SSD è un Crucial BX300.
Impostare lo swappiness a 10
Giocare mezzora.
Controllare l'utilizzo della swap con free o swapon; smartctl e l'analisi di /proc/swaps
Moltiplicare per 100
mortimer7
01-06-2023, 17:19
Impostare lo swappiness a 10
Giocare mezzora.
Controllare l'utilizzo della swap con free o swapon; smartctl e l'analisi di /proc/swaps
Moltiplicare per 100
grazie del consiglio.
ho provato a impostare lo swappiness a 10 (ma serve per usurare di meno l'SSD?) e dopo mezz'ora di gioco con Yuzu (emulatore Nintendo Switch) questi sono i risultati:
$ free -h
total used free shared buff/cache available
Mem: 7,1Gi 4,9Gi 1,6Gi 537Mi 662Mi 1,5Gi
Swap: 8,0Gi 6,2Gi 1,8Gi
$ cat /proc/swaps
Filename Type Size Used Priority
/media/DATI/swapfile file 8388604 6470208 -2
smartctl 7.3 2022-02-28 r5338 [x86_64-linux-6.3.4-zen1-1-zen] (local build)
Copyright (C) 2002-22, Bruce Allen, Christian Franke, www.smartmontools.org
=== START OF INFORMATION SECTION ===
Model Family: Crucial/Micron Client SSDs
Device Model: CT120BX300SSD1
Serial Number: 1342E1026659
Firmware Version: M2CR010
User Capacity: 120,034,123,776 bytes [120 GB]
Sector Sizes: 512 bytes logical, 4096 bytes physical
Rotation Rate: Solid State Device
TRIM Command: Available, deterministic, zeroed
Device is: In smartctl database 7.3/5319
ATA Version is: ACS-2 (minor revision not indicated)
SATA Version is: SATA 3.1, 6.0 Gb/s (current: 6.0 Gb/s)
Local Time is: Thu Jun 1 18:23:39 2023 CEST
SMART support is: Available - device has SMART capability.
SMART support is: Enabled
AAM feature is: Unavailable
APM feature is: Unavailable
Rd look-ahead is: Enabled
Write cache is: Enabled
DSN feature is: Unavailable
ATA Security is: Disabled, frozen [SEC2]
=== START OF READ SMART DATA SECTION ===
SMART overall-health self-assessment test result: PASSED
General SMART Values:
Offline data collection status: (0x03) Offline data collection activity
is in progress.
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: ( 171) seconds.
Offline data collection
capabilities: (0x71) SMART execute Offline immediate.
No Auto Offline data collection support.
Suspend Offline collection upon new
command.
No Offline surface scan supported.
Self-test supported.
Conveyance Self-test supported.
Selective Self-test supported.
SMART capabilities: (0x0002) Does not save 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: ( 1) minutes.
Extended self-test routine
recommended polling time: ( 2) minutes.
Conveyance self-test routine
recommended polling time: ( 1) minutes.
SCT capabilities: (0x0035) SCT Status 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 FLAGS VALUE WORST THRESH FAIL RAW_VALUE
1 Raw_Read_Error_Rate POSR-K 100 100 000 - 0
5 Reallocate_NAND_Blk_Cnt -O--CK 100 100 010 - 0
9 Power_On_Hours -O--CK 100 100 000 - 5740
12 Power_Cycle_Count -O--CK 100 100 000 - 8440
171 Program_Fail_Count -O--CK 100 100 000 - 0
172 Erase_Fail_Count -O--CK 100 100 000 - 0
173 Ave_Block-Erase_Count -O--CK 090 090 000 - 309
174 Unexpect_Power_Loss_Ct -O--CK 100 100 000 - 102
180 Unused_Reserve_NAND_Blk PO--CK 100 100 000 - 41
183 SATA_Interfac_Downshift -O--CK 100 100 000 - 50
184 Error_Correction_Count -O--CK 100 100 000 - 0
187 Reported_Uncorrect -O--CK 100 100 000 - 0
194 Temperature_Celsius -O---K 100 100 000 - 40 (Min/Max 0/54)
196 Reallocated_Event_Count -O--CK 100 100 000 - 0
197 Current_Pending_ECC_Cnt -O--CK 100 100 000 - 0
198 Offline_Uncorrectable ----CK 100 100 000 - 0
199 UDMA_CRC_Error_Count -O--CK 100 100 000 - 6
202 Percent_Lifetime_Remain ----CK 090 090 001 - 10
206 Write_Error_Rate -OSR-- 100 100 000 - 0
210 Success_RAIN_Recov_Cnt -O--CK 100 100 000 - 0
246 Total_LBAs_Written -O--CK 100 100 000 - 13001112103
247 Host_Program_Page_Count -O--CK 100 100 000 - 141193366
248 FTL_Program_Page_Count -O--CK 100 100 000 - 428457461
||||||_ K auto-keep
|||||__ C event count
||||___ R error rate
|||____ S speed/performance
||_____ O updated online
|______ P prefailure warning
General Purpose Log Directory Version 1
SMART Log Directory Version 1 [multi-sector log support]
Address Access R/W Size Description
0x00 GPL,SL R/O 1 Log Directory
0x01 SL R/O 1 Summary SMART error log
0x02 SL R/O 1 Comprehensive SMART error log
0x03 GPL R/O 1 Ext. Comprehensive SMART error log
0x04 GPL,SL R/O 8 Device Statistics log
0x06 SL R/O 1 SMART self-test log
0x07 GPL R/O 1 Extended self-test log
0x09 SL R/W 1 Selective self-test log
0x10 GPL R/O 1 NCQ Command Error log
0x11 GPL R/O 1 SATA Phy Event Counters log
0x24 GPL R/O 88 Current Device Internal Status Data log
0x25 GPL R/O 128 Saved Device Internal Status Data log
0x30 GPL,SL R/O 9 IDENTIFY DEVICE data log
0x80-0x9f GPL,SL R/W 16 Host vendor specific log
0xe0 GPL,SL R/W 1 SCT Command/Status
0xe1 GPL,SL R/W 1 SCT Data Transfer
SMART Extended Comprehensive Error Log Version: 1 (1 sectors)
No Errors Logged
SMART Extended Self-test Log Version: 1 (1 sectors)
Num Test_Description Status Remaining LifeTime(hours) LBA_of_first_error
# 1 Short offline Completed without error 00% 5740 -
# 2 Short offline Self-test routine in progress 80% 5740 -
# 3 Short offline Completed without error 00% 5740 -
# 4 Short offline Completed without error 00% 5740 -
# 5 Short offline Completed without error 00% 5740 -
# 6 Short offline Self-test routine in progress 90% 5740 -
# 7 Offline Completed without error 00% 5740 -
# 8 Short offline Completed without error 00% 3434 -
# 9 Offline Self-test routine in progress 90% 3434 -
#10 Offline Completed without error 00% 17 -
#11 Offline Completed without error 00% 17 -
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
6 0 65535 Read_scanning is in progress
Selective self-test flags (0x18):
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.
SCT Status Version: 3
SCT Version (vendor specific): 0 (0x0000)
Device State: Active (0)
Current Temperature: 0 Celsius
Power Cycle Min/Max Temperature: 33/41 Celsius
Lifetime Min/Max Temperature: 0/54 Celsius
Under/Over Temperature Limit Count: 0/0
SCT Temperature History Version: 2
Temperature Sampling Period: 1 minute
Temperature Logging Interval: 1 minute
Min/Max recommended Temperature: 0/100 Celsius
Min/Max Temperature Limit: 0/100 Celsius
Temperature History Size (Index): 128 (29)
Index Estimated Time Temperature Celsius
30 2023-06-01 16:16 40 *********************
... ..( 8 skipped). .. *********************
39 2023-06-01 16:25 40 *********************
40 2023-06-01 16:26 41 **********************
41 2023-06-01 16:27 40 *********************
42 2023-06-01 16:28 40 *********************
43 2023-06-01 16:29 41 **********************
44 2023-06-01 16:30 41 **********************
45 2023-06-01 16:31 41 **********************
46 2023-06-01 16:32 40 *********************
47 2023-06-01 16:33 41 **********************
48 2023-06-01 16:34 41 **********************
49 2023-06-01 16:35 40 *********************
50 2023-06-01 16:36 41 **********************
51 2023-06-01 16:37 40 *********************
52 2023-06-01 16:38 40 *********************
53 2023-06-01 16:39 41 **********************
... ..( 11 skipped). .. **********************
65 2023-06-01 16:51 41 **********************
66 2023-06-01 16:52 35 ****************
67 2023-06-01 16:53 36 *****************
68 2023-06-01 16:54 36 *****************
69 2023-06-01 16:55 38 *******************
... ..( 4 skipped). .. *******************
74 2023-06-01 17:00 38 *******************
75 2023-06-01 17:01 40 *********************
... ..( 28 skipped). .. *********************
104 2023-06-01 17:30 40 *********************
105 2023-06-01 17:31 33 **************
106 2023-06-01 17:32 35 ****************
107 2023-06-01 17:33 36 *****************
108 2023-06-01 17:34 36 *****************
109 2023-06-01 17:35 36 *****************
110 2023-06-01 17:36 38 *******************
111 2023-06-01 17:37 38 *******************
112 2023-06-01 17:38 33 **************
113 2023-06-01 17:39 35 ****************
114 2023-06-01 17:40 35 ****************
115 2023-06-01 17:41 36 *****************
116 2023-06-01 17:42 36 *****************
117 2023-06-01 17:43 38 *******************
... ..( 5 skipped). .. *******************
123 2023-06-01 17:49 38 *******************
124 2023-06-01 17:50 40 *********************
... ..( 21 skipped). .. *********************
18 2023-06-01 18:12 40 *********************
19 2023-06-01 18:13 41 **********************
20 2023-06-01 18:14 40 *********************
... ..( 8 skipped). .. *********************
29 2023-06-01 18:23 40 *********************
SCT Error Recovery Control command not supported
Device Statistics (GP Log 0x04)
Page Offset Size Value Flags Description
0x01 ===== = = === == General Statistics (rev 2) ==
0x01 0x008 4 8440 --- Lifetime Power-On Resets
0x01 0x010 4 5740 --- Power-on Hours
0x01 0x018 6 116210215 --- Logical Sectors Written
0x01 0x020 6 148710918 --- Number of Write Commands
0x01 0x028 6 1581541883 --- Logical Sectors Read
0x01 0x030 6 321054573 --- Number of Read Commands
0x04 ===== = = === == General Errors Statistics (rev 1) ==
0x04 0x008 4 0 --- Number of Reported Uncorrectable Errors
0x04 0x010 4 110 --- Resets Between Cmd Acceptance and Completion
0x06 ===== = = === == Transport Statistics (rev 1) ==
0x06 0x008 4 34464 --- Number of Hardware Resets
0x06 0x018 4 0 --- Number of Interface CRC Errors
0x07 ===== = = === == Solid State Device Statistics (rev 1) ==
0x07 0x008 1 10 --- Percentage Used Endurance Indicator
|||_ C monitored condition met
||__ D supports DSN
|___ N normalized value
SATA Phy Event Counters (GP Log 0x11)
ID Size Value Description
0x0001 2 0 Command failed due to ICRC error
0x0002 2 0 R_ERR response for data FIS
0x0003 2 0 R_ERR response for device-to-host data FIS
0x0004 2 0 R_ERR response for host-to-device data FIS
0x0005 2 0 R_ERR response for non-data FIS
0x0006 2 0 R_ERR response for device-to-host non-data FIS
0x0007 2 0 R_ERR response for host-to-device non-data FIS
0x0008 2 0 Device-to-host non-data FIS retries
0x0009 2 0 Transition from drive PhyRdy to drive PhyNRdy
0x000a 2 2 Device-to-host register FISes sent due to a COMRESET
0x000b 2 0 CRC errors within host-to-device FIS
0x000d 2 0 Non-CRC errors within host-to-device FIS
0x000f 2 0 R_ERR response for host-to-device data FIS, CRC
0x0010 2 0 R_ERR response for host-to-device data FIS, non-CRC
0x0012 2 0 R_ERR response for host-to-device non-data FIS, CRC
0x0013 2 0 R_ERR response for host-to-device non-data FIS, non-CRC
vuol dire che dopo 50 ore di gioco verranno scritti su SSD circa 620GB? È troppo?
ho provato a impostare lo swappiness a 10 (ma serve per usurare di meno l'SSD?)
vuol dire che dopo 50 ore di gioco verranno scritti su SSD circa 620GB? È troppo?
No, lo swappiness a 10 significa che swapperai solo quando ti rimane il 10% di ram libera.
Il mio ssd ha un tbw di 600 tera, per me non sarebbe troppo. Il tuo ne avra 300 o, al peggio, 150, è meno dello .5 per cento - quell'ssd non vorrai mica rottamarlo senza averlo usato...
Sempre se hai fatto bene i conti :)
mortimer7
01-06-2023, 18:42
No, lo swappiness a 10 significa che swapperai solo quando ti rimane il 10% di ram libera.
Il mio ssd ha un tbw di 600 tera, per me non sarebbe troppo. Il tuo ne avra 300 o, al peggio, 150, è meno dello .5 per cento - quell'ssd non vorrai mica rottamarlo senza averlo usato...
Sempre se hai fatto bene i conti :)
nelle specifiche tecniche c'è scritto che ha 55TB di tbw. lo uso dal 2018
Ne hai ancora 49 da scrivere, io non mi preoccuperei
Controlla di avere lo swappiness impostato a 10
cat /proc/sys/vm/swappiness
mortimer7
01-06-2023, 21:37
Ne hai ancora 49 da scrivere, io non mi preoccuperei
C'è scritto nel log di smartctl che ne ho usati solo 6? È la voce Logical Sectors Written? Come l'hai convertito in tera?
Lo seapiness è impostato correttamente, ho seguito il wiki di Arch. anche il comando "sysctl vm.swappiness" dice che è 10
EDIT:
Poi ho capito che è la voce Total_LBAs_Written (13001112103). L'ho convertito con questo sito:
https://dannyda.com/2020/09/06/how-to-convert-smart-attribute-241-total_lbas_written-to-mb-gb-tb-pb/
Lo seapiness è impostato correttamente, ho seguito il wiki di Arch. anche il comando "sysctl vm.swappiness" dice che è 10
free sembra dire il contrario ma l'importante è che sia impostato correttamente.
ciao
Nicodemo Timoteo Taddeo
02-06-2023, 07:46
EDIT:
Poi ho capito che è la voce Total_LBAs_Written (13001112103). L'ho convertito con questo sito:
https://dannyda.com/2020/09/06/how-to-convert-smart-attribute-241-total_lbas_written-to-mb-gb-tb-pb/
Basta anche solo questa riga
202 Percent_Lifetime_Remain ----CK 090 090 001 - 10
È stato scritto solo il 10% del quantitativo di scritture garantito dal produttore dell'SSD. Considerata la piccola capienza del SSD vuol dire che l'hai sfruttato veramente molto poco in questi cinque anni. Inutilizzato o quasi, direi :)
E ad ogni modo si tratta delle scritture che il produttore garantisce il che non vuol dire che l'SSD smette di funzionare esaurite esse. Continuerà a funzionare ancora per chissà quanto. Quindi sperimenta pure, vai tranquillo o se continui a tenerlo disoccupato va a finire che si rompe per altre cause e ben prima di aver usurato le memorie :)
mortimer7
02-06-2023, 10:42
È stato scritto solo il 10% del quantitativo di scritture garantito dal produttore dell'SSD. Considerata la piccola capienza del SSD vuol dire che l'hai sfruttato veramente molto poco in questi cinque anni. Inutilizzato o quasi, direi :)
in verità l'ho usato tutti i giorni, forse se ha scritto poco perché Linux è meno invasivo di Windows.
Cmq ho provato a fare un esperimento: ho fatto un test smarctl prima di giocare, dopo mezz'ora di gioco e poi dopo 1 ora.
Questi sono i valori del "Total_LBAs_Written":
Prima: 13011690759 (6661,99GB)
Dopo 30 min: 13017522391 (6664,97GB)
Dopo 1 ora: 13022370543 (6667,45GB)
In pratica dopo 1 ora ha scritto 5,64GB su SSD.
Nicodemo Timoteo Taddeo
02-06-2023, 13:30
in verità l'ho usato tutti i giorni, forse se ha scritto poco perché Linux è meno invasivo di Windows.
Indubbiamente una installazione di Linux scrive di suo molto meno di una di Windows, senza alcun dubbio è così.
Però alla fine ll grosso delle scritture sui dischi li fanno i programmi e l'attività dell'utente. La mia installazione di Linux scrive una media di 5-6 GB al giorno ma viene usata soprattutto per la visualizzazione tramite browser di filmati di Youtube e streaming da Amazon Prime, Netflix, RaiPlay, NowTV ed altri dispensatori di streaming video anche ad alta risoluzione. Ore ed ore di streaming e vedi come salgono le scritture anche con Linux :)
Cmq ho provato a fare un esperimento: ho fatto un test smarctl prima di giocare, dopo mezz'ora di gioco e poi dopo 1 ora.
Questi sono i valori del "Total_LBAs_Written":
Prima: 13011690759 (6661,99GB)
Dopo 30 min: 13017522391 (6664,97GB)
Dopo 1 ora: 13022370543 (6667,45GB)
In pratica dopo 1 ora ha scritto 5,64GB su SSD.
Sì OK, è chiaro che adesso l'SSD deve lavorare :) Comunque questi calcoli sul breve periodo non sono del tutto "veritieri" nel senso che gli SSD hanno un funzionamento che è difficile da inquadrare in minuti o anche semplici ore. Meglio considerare periodi più lunghi, diversi giorni di attività per dire. Ad esempio le scritture del sistema operativo in primo luogo vengono effettuate sulla cache SLC e solo successivamente il firmware del dispositivo può spostare quei dati nelle memorie TLC o QLC, il che significa che gli stessi dati verranno scritti due volte, oppure possono essere stati cancellati prima e quindi non avranno le due scritture. Insomma se si vuole avere una panoramica più attendibile del lavoro cui è sottoposto l'SSD, a mio parere, bisogna considerare periodi lunghi diversi giorni come minimo :
Ed in tutta sincerità non so neanche io se nel conteggio delle scritture rientra anche il wear leveling, immagino di sì ma non ne ho certezze.
mortimer7
02-06-2023, 14:53
Indubbiamente una installazione di Linux scrive di suo molto meno di una di Windows, senza alcun dubbio è così.
Però alla fine ll grosso delle scritture sui dischi li fanno i programmi e l'attività dell'utente. La mia installazione di Linux scrive una media di 5-6 GB al giorno ma viene usata soprattutto per la visualizzazione tramite browser di filmati di Youtube e streaming da Amazon Prime, Netflix, RaiPlay, NowTV ed altri dispensatori di streaming video anche ad alta risoluzione. Ore ed ore di streaming e vedi come salgono le scritture anche con Linux :)
Io avevo impostato chromium in modo che la cache fosse scritta sulla RAM (in /tmp) anziché su SSD. Si può fare anche con Firefox
Nicodemo Timoteo Taddeo
02-06-2023, 17:51
Io avevo impostato chromium in modo che la cache fosse scritta sulla RAM (in /tmp) anziché su SSD. Si può fare anche con Firefox
Lo so che si può fare ma non lo faccio mai perché compro i dischi e gli SSD per farli lavorare, non ho alcuna intenzione di buttarli via o metterli da parte ancora da nuovi o molto efficienti. Facciano il loro lavoro e lascino la RAM a fare il suo :)
Ta l'altro sei gigabyte al giorno sono 2.2 TB l'anno, per arrivare ai 60 garantiti per il tuo dovrebbero passare quasi trent'anni, praticamente l'SSD non sta facendo nulla anche con la cache del browser in impostazioni di default. Sicuramente lo butterò quando si romperà o non sarà più adoperabile per altre ragioni :)
Io avevo impostato chromium in modo che la cache fosse scritta sulla RAM (in /tmp) anziché su SSD. Si può fare anche con Firefox
Se fossi nei tuoi panni ignorerei gli analfabeti funzionali che capiscono la metà di ciò che leggono: continua così, c'è chi ci tiene tutta la dir .cache in tmpfs.
Ri-ciao
Slater91
03-06-2023, 10:59
Se fossi nei tuoi panni ignorerei gli analfabeti funzionali che capiscono la metà di ciò che leggono: continua così, c'è chi ci tiene tutta la dir .cache in tmpfs.
Ri-ciao
Non c'era alcun bisogno di questo tono sprezzante. Ci rivediamo mercoledì.
vBulletin® v3.6.4, Copyright ©2000-2025, Jelsoft Enterprises Ltd.