-
X-Received: by 2002:a54:4605:0:b0:35a:2f67:a613 with SMTP id
p5-20020a544605000000b0035a2f67a613mr2753889oip.200.1668139748489; Thu,
10 Nov 2022 20:09:08 -0800 (PST)
X-Received: by 2002:a54:4605:0:b0:35a:2f67:a613 with SMTP id
p5-20020a544605000000b0035a2f67a613mr2753889oip.200.1668139748489; Thu,
10 Nov 2022 20:09:08 -0800 (PST)
Path: news-archive.icm.edu.pl!news.icm.edu.pl!newsfeed.pionier.net.pl!news.samoylyk.n
et!usenet.blueworldhosting.com!feed1.usenet.blueworldhosting.com!peer01.iad!fee
d-me.highwinds-media.com!news.highwinds-media.com!news-out.google.com!nntp.goog
le.com!postnews.google.com!google-groups.googlegroups.com!not-for-mail
Newsgroups: pl.comp.pecet
Date: Thu, 10 Nov 2022 20:09:08 -0800 (PST)
In-Reply-To: <HojbL.1572752$%fx6.1407141@fx14.ams1>
Injection-Info: google-groups.googlegroups.com; posting-host=24.77.110.106;
posting-account=jnRHMAoAAACB5EawItMhNTZMy_yOF2XE
NNTP-Posting-Host: 24.77.110.106
References: <vj1bL.852273$qD%2.456333@fx08.ams1>
<636cc70d$0$476$65785112@news.neostrada.pl>
<aj4bL.1375392$9f26.270131@fx09.ams1>
<636cdccd$0$463$65785112@news.neostrada.pl>
<%T5bL.852295$qD%2.432754@fx08.ams1>
<0...@g...com>
<HojbL.1572752$%fx6.1407141@fx14.ams1>
User-Agent: G2/1.0
MIME-Version: 1.0
Message-ID: <2...@g...com>
Subject: Re: anatomia padania ssd
From: "ptoki (ptoki)" <s...@g...com>
Injection-Date: Fri, 11 Nov 2022 04:09:08 +0000
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable
X-Received-Bytes: 11269
Xref: news-archive.icm.edu.pl pl.comp.pecet:1275199
[ ukryj nagłówki ]czwartek, 10 listopada 2022 o 21:34:02 UTC-6 Marcin Debowski napisał(a):
> On 2022-11-10, ptoki (ptoki) <s...@g...com> wrote:
> > W twoim scenariuszu te 30% niespartycjonowane bylo uzywane przez dysk
> > do rozpraszania zapisow. I w praktyce yo co zapisywales na tych 70%
> > trafialo na te pozostale 30% bo dysk wiedzial ze sa nie uzyte.
> > Wiedzial o tym bo ich nie zapisal wczesniej a nie dlatego ze tam nie
> > bylo partycji.
> Dobrze, to teraz jeszcze takie coś. Podmontowałem tą nieużywaną
> partycję i zapuściłem ręcznie fstrima. Ztrimował 165GB/175GB
> dostępnych.
fstrim dziala dziwnie. Kiedys pisalem se z autorem i jego tlumaczenie co i jak bylo
tak metne ze odpuscilem konwersacje.
Mialem wtedy do niego pytanie jakim cudem fstrim puszczony raz zwalnia 56GB, puszony
natychmiast drugi raz zwalnia 0 bajtow, kolejne puszczenie i znowu 0 bajtow i na
kolejnym zwolnione 0.8GB podczas gdy iostat pokaywal ledwo 20MB zapisane.
Nie dowiedzialem sie dlaczego tak jest i mam silne przeczucie ze fstrim odpierdala
jakas maniane.
Dodatkowo ten dysk byl ztrymowany a jego wydajnosc byla pod psem.
I dodatkowo, nie jestem pewien czy podczas formatowania filesystemu na wejsciu fstrim
jest puszczany zeby "zainicjalizowac" wolna przestrzen. Bo kontroler pamieta co tam
na dysku bylo wczesniej a filesystem zalozony pod np. linuxem albo windowsem nie
martwi sie tym ze wczesniej tam cos bylo zapisane i nie wiem czy to jest zwalniane.
Obstawiam ze nie poniewaz:
Mialem dyska na ktorym fstrim chodzil caly czas i po paru latach wydajnosc jego
spadla do jakichs smiesznych wartosci na poziomie 50MB/sek.
Pokasowalem wszystko z niego, puscilem fstrima i wydajnosc byla nadal do dupy.
Testowalem zwyklym gnomowym disks-em. Tam ladnie widac jaka czesc dysku ma jaka
wydajnosc.
No i stwierdzilem jak gary oldman w 5elemencie: trza samemu zeby dobrze bylo i
puscilem ten baszowy skrypt z dolu tego posta
https://superuser.com/questions/308251/how-to-trim-d
iscard-a-whole-ssd-partition-on-linux
Albo podobny.
Puscilem to na dysku, skonczylo sie w pare chwil.
A potem puszczalem benchmarka z disks i na bierzaco widzialem jak sie wydajnosc
podnosi na tych obszarach gdzie jest konkretnie trim robiony.
Literalnie widzialem jak wydajnosc skacze z tych 50-60MB/sek do 250 podczas paru rund
benchmarkowania.
To tyle na temat fstrima. Niby jest, niby cos robi ale IMHO nie robi tego dobrze albo
nawet jakby robil dobrze to sa sytuacje gdzie moze sie pomotac (formatowanie juz
uzytego dysku).
> Zapuściłem ponownie badblock i liczba bb spadła z 5140 na
> 770. O ile dobrze rozumiem to fstrim nie zdąrzył się dorwać do tej
> partycji jak jeszcze przed laty była zamontowana, czyli de facto
> kontroler myślał, że są to zajęte bloki, czyli pewnie było grubo
> poniżej 10% wolnych. W takim razie tym dziwniejsze, że on jeszcze żyje
> i w sumie cały czas bryka. Zapisałem 1-7GB na sda2 i sda1 i prędkości
> powyżej 250MB/s.
>
Tak, to dosyc podobny scenariusz jaki mi sie w glowie poukladal.
Jak mozesz to pusc se blkdiscardy albo te hdparmy i zobacz jaka ma wydajnosc
odczytow. Jak ma bardzo nierowna to znaczy ze trim pokpil temat. Jak caly ma rowno
szybkie odczyty to nie jest zle (ale nie wiem czy dobrze jest)
> Na partycji systemowaj ztrimowało się ręcznue ok 1.5GB/55GB. Tu wygląda
> trim chodził. Błedy zleciały z 91 na 85.
>
> Teraz wziąłem tę od swapa, sformatowałem jak ext4, podmontowałem i
> fstrimowałem. Ztrimował jak można się spodziewać wszystko, ale
> najciekawsze jest, że błędy spadły z ok 2000 na 0. Jak to wyjaśnić
> biorąc pod uwagę, że ta duża nieużywana była trimowana jako pierwsza?
>
Obstawiam ze ten fstrim jest po prostu dziurawy albo byly sytuacje ze dane byly
kasowane ale trim na nich nie byl wykonany. Nie wiem, pad zasilania, inny komp
kasowal a inny trimowal, nie wiem.
Ale mysle ze tam gdzie ci zostaly bad blocki trim nie byl zrobiony.
> Poniżej smart po (góra) i przed (dół) trimowaniem. Widać zmianę w "5" i
> "187". Widać też, że "5"<-"179". Jak dużo taki dysk ma bloków
> rezerwowych?
>
Az mu zabraknie :) Nie mam pojecia ile. Ale kiedys czytalem ze do ssd dawali nawet
+20% (kostki flasz o tyle wieksze od tego co dysk pokazywal.
Dzis bym zakladal ze jak dysk jest 240GB to w praktyce ma kostek na 256GB. Ale tylko
gdybam...
> (po)
> 5 Reallocated_Sector_Ct 0x0033 038 038 010 : 440
> 9 Power_On_Hours 0x0032 094 094 000 : 27262
> 12 Power_Cycle_Count 0x0032 099 099 000 : 27
> 177 Wear_Leveling_Count 0x0013 001 001 000 : 2038
> 179 Used_Rsvd_Blk_Cnt_Tot 0x0013 038 038 010 : 440
> 181 Program_Fail_Cnt_Total 0x0032 100 100 010 : 0
> 182 Erase_Fail_Count_Total 0x0032 100 100 010 : 0
> 183 Runtime_Bad_Block 0x0013 038 038 010 : 440
> 187 Uncorrectable_Error_Cnt 0x0032 097 097 000 : 28095
> 190 Airflow_Temperature_Cel 0x0032 045 027 000 : 55
> 195 ECC_Error_Rate 0x001a 001 001 000 : 28095
> 199 CRC_Error_Count 0x003e 100 100 000 : 0
> 235 POR_Recovery_Count 0x0012 099 099 000 : 20
> 241 Total_LBAs_Written 0x0032 097 097 000 : 6830206817482
>
> (przed)
> 5 Reallocated_Sector_Ct 0x0033 081 081 010 : 135
> 9 Power_On_Hours 0x0032 094 094 000 : 27240
> 12 Power_Cycle_Count 0x0032 099 099 000 : 27
> 177 Wear_Leveling_Count 0x0013 001 001 000 : 2038
> 179 Used_Rsvd_Blk_Cnt_Tot 0x0013 081 081 010 : 135
> 181 Program_Fail_Cnt_Total 0x0032 100 100 010 : 0
> 182 Erase_Fail_Count_Total 0x0032 100 100 010 : 0
> 183 Runtime_Bad_Block 0x0013 081 081 010 : 135
> 187 Uncorrectable_Error_Cnt 0x0032 099 099 000 : 1796
> 190 Airflow_Temperature_Cel 0x0032 044 027 000 : 56
> 195 ECC_Error_Rate 0x001a 199 199 000 : 1796
> 199 CRC_Error_Count 0x003e 100 100 000 : 0
> 235 POR_Recovery_Count 0x0012 099 099 000 : 20
> 241 Total_LBAs_Written 0x0032 097 097 000 : 6830178404602
> > ad4. Jak skasujesz wszystko z dysku to mozesz miec szczescie i
> > jeszcze nieco danych zapiszesz zanim padnie. Kontroler moze zaczac
> > chetniej uzywac komorki mniej zuzyte (zakladamy ze te 30% teraz jest
> > mocno zuzyte a te 70% tylko czesciowo i powiedzmy 50% tych 70% jest
> > zapisane tylko pare razy) wiec jakbys zmniejszyl te partycje do
> > powiedzmy (z dupy estymacja) do 100GB to ten dysk nadal podziala. Ale
> > trzeba zrobic pelnego trim-a. Ja tak robi pod linuksem. Wysyla sie
> > dyskowi info zeby trimowal wszystkie bloki i on ma szanse zaczac
> > uzywac te co sa najmniej zuzyte.
> >
> > Ale feler jest taki ze jak przekroczysz bariere (ilosciowa) za ktora
> > sa zuzyte bloki i je zaczniesz ponownie nadpisywac (jakies logi czy
> > baza danych) to dysk padnie na twardo.
> >
> > To tak zgrubsza. Mysle ze nieco wyjasnia sytuacje.
> Do końca nadal nie chwytam tych błędów na nieużywanej partycji, tym
> bardziej jeśli kontroler myślał, że jest zajęta. Ale może to tak, że te
> kilka GB co myślał, że ma tam wolne to używał dużo intensywniej i
> dlatego też poleciały, i tam właśnie są te błędy. Trzyma się kupy?
>
Tak, to wlasnie tlumaczylem.
Kontroler nie rozumie gdzie sa partycje.
Jak gdzies zapis byl to se notowal. Jak nie bylo trima na tym to nie uzywal do wear
levelingu. Jak gdzies nie miales wogole zapisu (czy to na nieuzytej partycji czy na
koncu partycji uzytej (nieco upraszczajac) to to bylo uzywane do wearlevelingu. No i
to co sie ztrymowalo tez bylo uzyte. Jak nie bylo trima miedzy zapisem a chwila
obecna to kontroler nie wie ze mozna nadpisac.
Jak np. zalozysz partycje pod winda (albo na kompie #1) I zaniesiesz dyska do
drugiego kompa albo podepniesz do linuxa i zalozysz partycje od nowa to nie sadze aby
linux/windows powiedzial dyskowi ze teraz caly obszar partycji ma byc uznany za
pusty. W efekcie mimo nawet dobrze dzialajacego trima dysk sie nie dowie o tym ze
spora jego czesc jest nieuzywana i moze robic za wear leveling.
> Druga rzecz to ten kosmiczny przebieg. Coś najwyraźniej jednak tam
> musiało tyle pisać. Adam poprawnie zgadł, że to serwer, więc może tak
> wygląda rzeźbienie różnych typowych procesów po ssd? Nb. to już drugi
> ssd w tej maszynie. Poprzedni, jakiś Lexar, padł po chyba 2ch latach i
> OIDP padł trupem niediagnostycznym, więc nie mam jak sprawdzić
> przebiegu.
>
>
Pusc sobie iostat-a albo zajrzyj w statsy w /proc albo /sys 30MB stalego zapisu to
nie byle co i nawet na serwerze ktory robi za baze danych tyle zazwyczaj nie ma.
Tam cos innego sie musialo dziac. Albo te numerki sa niepoprawne z jakiegos powodu.
Albo inaczej:
Moze nie masz pod linuxem ustawionego noatime?
Wtedy kazdy odczyt powoduje malenki zapis. Bo access time trzeba dodac. Wtedy zapis
tych 4 bajtow (czy ile tam ta data zajmie) spowoduje zapis calego bloku na ssd.
I jak masz duzo odczytow to moze dojsc do sytuacji gdzie te 4bajty spuchna do 512
czy ile tam sektor na ssd teraz jest. a to jest jakies 100x wiecej...
Następne wpisy z tego wątku
- 11.11.22 05:09 Marcin Debowski
- 11.11.22 05:12 Marcin Debowski
- 11.11.22 06:19 ptoki (ptoki)
- 11.11.22 08:08 Szwambuł Trantiputl
- 11.11.22 08:11 Szwambuł Trantiputl
- 12.11.22 00:04 Marcin Debowski
- 12.11.22 00:09 Marcin Debowski
- 12.11.22 00:16 Marcin Debowski
- 12.11.22 00:20 Szwambuł Trantiputl
- 12.11.22 00:35 Szwambuł Trantiputl
- 12.11.22 00:57 Szwambuł Trantiputl
- 12.11.22 01:43 Marcin Debowski
- 13.11.22 17:55 ptoki (ptoki)
- 14.11.22 10:08 Marcin Debowski
- 14.11.22 10:11 Marcin Debowski
Najnowsze wątki z tej grupy
- Przenosiny systemu
- soft dla detekcji stanu DMA (on,czy off)
- jak w chrome (forku chrome) wyznaczyc katalog profilu w dowolnym miejscu?
- Dziwnie padający Seagate
- Kwestia UPSa i elektryki tegoż
- Drukowanie bezprzewodowe - jaki interface ?
- Libre Office Krok Po Kroku - Komentarz
- Dysk startowy z dosem - ktokolwiek widział, ktokolwiek zna?
- Sprzedawanie zaszyfrowanych filmów na płytach Blu-Ray bez kluczy deszyfrujących
- Re: Drugi ekran na Androidzie
- Vmware update
- Access point na zewnątrz
- dodanie karty graf zawiesza komp
- Jak wybrać laptopa?
- Router i USENET
Najnowsze wątki
- 2024-11-29 Dławik CM
- 2024-11-29 [OT] Lewe oprogramowanie
- 2024-11-29 Błonie => Sales Specialist <=
- 2024-11-29 Warszawa => IT Expert (Network Systems area) <=
- 2024-11-29 Warszawa => Ekspert IT (obszar systemów sieciowych) <=
- 2024-11-29 Warszawa => Head of International Freight Forwarding Department <=
- 2024-11-29 Białystok => Inżynier Serwisu Sprzętu Medycznego <=
- 2024-11-29 Pómpy ciepła darmo rozdajoo
- 2024-11-29 Białystok => Application Security Engineer <=
- 2024-11-29 Białystok => Programista Full Stack (.Net Core) <=
- 2024-11-29 Gdańsk => Software .Net Developer <=
- 2024-11-29 Wrocław => Key Account Manager <=
- 2024-11-29 Gdańsk => Specjalista ds. Sprzedaży <=
- 2024-11-29 Chrzanów => Specjalista ds. public relations <=
- 2024-11-27 Re: UseGalileo -- PRODUKTY I APLIKACJE UŻYWAJĄ JUŻ DZIŚ SYSTEMU GALILEO