Nie jesteś zalogowany.
Jeśli nie posiadasz konta, zarejestruj je już teraz! Pozwoli Ci ono w pełni korzystać z naszego serwisu. Spamerom dziękujemy!
Prosimy o pomoc dla małej Julki — przekaż 1% podatku na Fundacji Dzieciom zdazyć z Pomocą.
Więcej informacji na dug.net.pl/pomagamy/.
Czy istnieje jakieś narzędzie które umożliwi defragmentacje systemu plików ext3?
Mam partycję 650gb, nigdy nie byłą ona zajęta w stopniu przewyższającym 50% (obecnie jest na niej 340gb). Po ostatnim sprawdzeniu systemu plików podsumowanie wyrzuciło ponad 55% pofragmentowanych plików :] W tej chwili na tej pratycji znajduje się 19002 elementów. I pytanie moje jest skąd aż taka fragmentacja plików przy tak dużej ilości wolnego miejsca?
Przeszukując wątki na forum andreq napisał
... nie ma się czym przejmować - nie spotkałem fragmentacji większej niż 10% i to po paru latach użytkowania.[/quote]
Mój dysk ma przepracowane około 7tys godzin - młody dysk, ma niecały rok.
I jeszcze takie pytanie - czy istnieje możliwość podglądnięcia, które pliki są pofragmentowane oraz ile mają części? Tak jak na winie? Bo 55% pofragmentowanych plików za bardzo nie daje pełnego obrazu tego jak bardzo pofragmenteowane są pliku, jedynie co mogę stwierdzić z raportu fsck to to, że liczba pofragmenteowanych plików wynosi 10451 ale już czy te pliki mają 2 fragmenty czy 2000, to już nie pisze :] Jeżeli bym miał choć listę plików pofragmentowanych, to mógłbym sposobem na "murzyna" je "poscalać".
Offline
[quote=raven18]Najlepsza metoda defragmentacji to copy > paste[/quote]
http://forum.dug.net.pl/viewtopic.php?pid=161207#p161207
Offline
Oszalałeś chyba :D Nie będę kopiował 360gb...
Co do samego sposobu ctrl+c, ctrl+v - to jest sposób na "murzyna" tak jak pisałem powyżej. Co nie zmienia też faktu, że pliki mogą być rozrzucone po całym dysku i kopiowanie kolejnych plików może jeszcze bardziej pogłębić fragmentację :] Nie mam też żadnych danych jak wygląda rozmieszczenie plików na dysku, a wątpię by były one ułożone jeden po drugim :]
Niemniej jednak, dalej nie wiem które pliki są pofragmentowane i ile maja kawałków. Bo jeżeli plik ma 2 kawałki, to nie będę go kopiował. Ale jeżeli ten plik ma 2 tyś części, to by należało :]
Offline
dyski sa teraz tak szybkie , że nie ma sensu defragmentować. To windowsowy termin i zabieg dla tego to systemu...
Ostatnio edytowany przez Yampress (2012-02-27 19:45:54)
Offline
[quote=morfik]Oszalałeś chyba :D Nie będę kopiował 360gb...[/quote]
o_0 .... a jak myslisz na czym polega 'łindowłsowy' zabieg "defragmentacji" ?
[edit]
nie ma programu
magic_stick , który uruchamiasz i pstryk jest.
termin defragmetancja wywodzi sie od fragmentacji czyli podziału plików na mniejsze cześci w skótek czego traci się ich ciągłość w zapisie na dysku.
proces defragmentacji polega na 'posklejaniu' tych plików, tak aby na powierzchni dysku twaredego tworzyły ciągłość.
[edit2]
w windzie występował taki problem ponieważ system zapisywał informacje pokoleji sektor po sektorze, trafial na zajete miejsce to szukal pierwszego wolnego ( nawet kiedy wolna przestrzen byla absurdalnie mala ) kiedy kopiowales np. 10 MB, to powiedzmy że było to zapisywane w 20 miejscach.
cud ext3 polega na zapisaniu 10MB w odpowiednim miejsu na dysku :], tam gdzie sie zmiesci, w całości bez dzielenia go, natomiast jeżeli zachodzi potrzeba dzielenia pliku , to jest dzielony na duże porcje.
Ostatnio edytowany przez gindek (2012-02-27 19:55:16)
Offline
swoją drogą nie wiem jak można było osiągnąć 55% fragmentacji. ja na partycjach w 75% zajętych nie mam na pewno więcej niż 10% (co prawda EXT4)
Offline
Bo Morfik utworzył miliony plików po 10KB, a potem usunął co drugi i wgrał film :D Film musiał być fragmentowany, więc mu to zajęło 55% :D
Fervi
Offline
A ja mam taki o to problem bo pewien komunikat mi się nie podoba... :/
fsck -nvf /dev/sda5 fsck from util-linux 2.20.1 e2fsck 1.42 (29-Nov-2011) Uwaga! /dev/sda5 jest zamontowany. Uwaga: pominięto odtwarzanie z kroniki z powodu sprawdzania w trybie tylko do odczytu. Przebieg 1: Sprawdzanie i-węzłów, bloków i rozmiarów Przebieg 2: Sprawdzanie struktury katalogów Przebieg 3: Sprawdzanie łączności katalogów Przebieg 4: Sprawdzanie liczników odwołań Przebieg 5: Sprawdzanie sumarycznych informacji o grupach Błędna liczba wolnych bloków (2999840, naliczono 2999759). Poprawić? nie /dev/sda5: ********** UWAGA: System plików nadal ma błędy ********** 105778 użytych i-węzłów (10.82%) 80 plików nieciągłych (0.1%) 95 katalogów nieciągłych (0.1%) liczba i-węzłów z blokami ind/dind/tind: 0/0/0 Histogram głębokości ekstentów: 90155/29 906208 użytych bloków (23.20%) 0 wadliwych bloków 1 duży plik 82835 zwykłych plików 6873 katalogi 12 plików urządzeń znakowych 25 plików urządzeń blokowych 2 potoki 524 dowiązania 16022 dowiązania symboliczne (15547 szybkich dowiązań symbolicznych) 0 gniazd -------- 106293 pliki
Jest to partycja root a /home mam także na osobnej i też jest komunikat, że "system plików nadal ma błędy"
Ostatnio edytowany przez BlackEvo (2012-02-27 21:30:38)
Offline
[b]BlackEvo[/b]: To puść fsck. :) Ale takie, które faktycznie coś zrobi — bez opcji [b]-n[/b] (np. [tt]fsck -fyCv[/tt] partycja).
PS Na partycji niezamontowanej lub zamontowanej read-only oczywiście.
Offline
[quote=gindek]o_0 .... a jak myslisz na czym polega 'łindowłsowy' zabieg "defragmentacji" ?[/quote]
Przecie wiem na czym polega defragmentacja. Problem nie jest w tym, czy kopiować, czy nie, tylko co mam kopiować :] Na winie mam ładną rozpiskę który plik w ilu jest kawałkach. Jak już pisałem wcześniej na tej partycji jest prawie 20k plików, z czego tylko połowę(?) trzeba przekopiować. I jak już pisałem wcześniej - plik w 2 kawałkach dla mnie nie wymaga kopiowania, ale plik co ma 2k części już tak. [b]Problem jest w ustaleniu, które pliki są pofragmentowane ...[/b]
[quote=gindek]w windzie występował taki problem ponieważ system zapisywał informacje pokoleji sektor po sektorze, trafial na zajete miejsce to szukal pierwszego wolnego[/quote]
Może to był win 95 :D Na xp to nie jest do końca prawda. Kiedyś wgrywając paru GB plik, patrzyłem czy wypełni przestrzenie między plikami czyli się sfragmentuje. I co się okazało, wgrał cały plik w wolne miejsce.
[quote=gindek]cud ext3 polega na zapisaniu 10MB w odpowiednim miejsu na dysku :], tam gdzie sie zmiesci, w całości bez dzielenia go[/quote]
No dziwny ten cud skoro partycja ma wolne ponad 300gb (zwykle miała ponad 450 wolnego), a największy plik ma chyba 3gb, do tego plików jest 20k i ponad połowa ma co najmniej 2 części :]
Fakt jest faktem, że sporo plików się przez tę partycję przewija, niemniej jednak po to dałem jej prawie 650GB, żeby zmniejszyć fragmentacje ale widać to nie działa za dobrze :]
[quote=dominbik]swoją drogą nie wiem jak można było osiągnąć 55% fragmentacji.[/quote]
Też się zdziwiłem jak zobaczyłem podsumowanie :D
BlackEvo - puść sobie shutdown -rF now :)
Ostatnio edytowany przez morfik (2012-02-27 22:00:33)
Offline
[quote=ArnVaker][b]BlackEvo[/b]: To puść fsck. :) Ale takie, które faktycznie coś zrobi — bez opcji [b]-n[/b] (np. [tt]fsck -fyCv[/tt] partycja).
PS Na partycji niezamontowanej lub zamontowanej read-only oczywiście.[/quote]
Podziękował :)
Offline
Jeszcze odnośnie „System plików nadal ma błędy”: wydaje mi się, że to w ogóle normalne jest przy użyciu opcji [b]-n[/b].
Puściłem „prawdziwe” fsck (wszystko było OK), przekręciłem system i już też mam:
# fsck -nvf /dev/sda7 fsck from util-linux 2.20.1 e2fsck 1.42 (29-Nov-2011) Uwaga! /dev/sda7 jest zamontowany. Uwaga: pominięto odtwarzanie z kroniki z powodu sprawdzania w trybie tylko do odczytu. Przebieg 1: Sprawdzanie i-węzłów, bloków i rozmiarów Przebieg 2: Sprawdzanie struktury katalogów Przebieg 3: Sprawdzanie łączności katalogów Przebieg 4: Sprawdzanie liczników odwołań Przebieg 5: Sprawdzanie sumarycznych informacji o grupach Błędna liczba wolnych bloków (3307123, naliczono 3306651). Poprawić? nie Błędna liczba wolnych i-węzłów (997998, naliczono 997976). Poprawić? nie DEBIAN: ********** UWAGA: System plików nadal ma błędy ********** 101442 użyte i-węzły (9.23%) 136 plików nieciągłych (0.1%) 110 katalogów nieciągłych (0.1%) liczba i-węzłów z blokami ind/dind/tind: 0/0/0 Histogram głębokości ekstentów: 95408/53 1084638 użytych bloków (24.70%) 0 wadliwych bloków 1 duży plik 87290 zwykłych plików 7906 katalogów 12 plików urządzeń znakowych 25 plików urządzeń blokowych 3 potoki 15 dowiązań 6214 dowiązań symbolicznych (5950 szybkich dowiązań symbolicznych) 5 gniazd -------- 101470 plików
Wolne bloki i wolne i-węzły od razu się nie zgadzają i krzyczy, że to błąd.
Offline
Ale robisz coś z tą partycją po puszczeniu normalnego fsck? Bo u mnie zaraz po normalnym fsck z opcją -n też jest OK. Ale wystarczy, że przekręcę system i wtedy sprawdzę z opcją -n na zamontowanej partycji / i już mu się te wolne bloki i i-węzły nie zgadzają.
Offline
No mi także. Najpierw init 1, potem odmontowałem /home na drugiej prartycji i po ponownym zamontowaniu dalej taki zonk. W read-only już tego nie ma.
Fakt, to nie jest normalne :D
Offline
Ja znalazłem z kolei program filefrag :] I generalnie rzecz biorąc wyrzucił mi coś takiego:
film.avi: 24145 extents found, perfection would be 1 extent
Czy te 24145 to mają być części :D?
Offline
IMO to jest normalne jednak. :P
niezamontowana partycja:
fsck -nvf /dev/sda8 … czysto
montuję ją gdzieś:
fsck -nvf /dev/sda8 … czysto
po utworzeniu jakiegokolwiek pliku:
fsck -nvf /dev/sda8 … Błędna liczba wolnych i-węzłów (996316, naliczono 996315). Poprawić? nie ********** UWAGA: System plików nadal ma błędy **********
po odmontowaniu:
fsck -nvf /dev/sda8 … czysto
Zatem wyszło mi, że to pojawia się w przypadku zamontowanej partycji, jeżeli ww. wartości zmienią się od ostatniego odmontowania.
Offline
ArnVaker - to chyba logiczne, że raczej nie powinno się nic robić na partycji, którą się sprawdza, nawet z opcją -n :D Tak samo jak będziesz pakował sobie katalog tar'em i usuniesz/zmienisz jakiś plik podczas tej operacji, to tar przerwie pakowanie i wywali błąd :D
Offline
[quote=morfik]ArnVaker - to chyba logiczne, że raczej nie powinno się nic robić na partycji, którą się sprawdza, nawet z opcją -n :D[/quote]
Tak? No nie wiem, dzisiaj pierwszy raz w życiu używałem w ogóle opcji -n. ;) Zresztą ja nie tworzę tego pliku w trakcie sprawdzania, tylko przed sprawdzaniem. Chodzi raczej o to, że aktualne wartości pewnie zapisywane są przy odmontowywaniu partycji i jak potem sprawdza się na zamontowanej po wprowadzeniu jakichś zmian (pomijając już sensowność takiego sprawdzania), to obecne wartości po prostu nie zgadzają się z tymi zapisanymi.
Offline
Faktycznie, musi sobie uaktualniać staty wolnych i-nodów przy odmontowaniu sytemu plików. Temu lepiej zawsze skanować na niepodmontowanym albo przemontować i nic nie wgrywać :D
Co do głównego tematu:
filefrag film* film.avi: 24145 extents found, perfection would be 1 extent film (kopia).avi: 187 extents found, perfection would be 1 extent film (kolejna kopia).avi: 198 extents found, perfection would be 1 extent
Chętnie bym porozmawiał z tym co zaprojektował ext3 bez narzędzia do defragmentacji :D Nawet po skopiowaniu pliku (730MB), na dysku z wolnym miejscem ponad 300GB (tam jest MB, a tu GB), ma 187 cześći, kolejna kopia ma już 198 kawałków.
Na tej partycji musi być niezła sieka skoro plik 730,3 MB (730263552 bajty) został w "najlepszym możliwym wypadku" podzielony na 187 kawałków - to daje 3,9 MB (3905153 bajty) największej wolnej przestrzeni między plikami :D
Ale mama mówiła że linuxy nie wymagają defragmentacji - no i widać do czego to prowadzi :D
Offline
Problem w tym, że defragmentacja to nerdowskie pojęcie. Możesz defragmentować np. Windowsa, ale robisz to? Raczej nie, to już bardziej zapomniana technika
Fervi
Offline
[quote=ArnVaker]IMO to jest normalne jednak. :P
niezamontowana partycja:
fsck -nvf /dev/sda8 … czysto
montuję ją gdzieś:
fsck -nvf /dev/sda8 … czysto
po utworzeniu jakiegokolwiek pliku:
fsck -nvf /dev/sda8 … Błędna liczba wolnych i-węzłów (996316, naliczono 996315). Poprawić? nie ********** UWAGA: System plików nadal ma błędy **********
po odmontowaniu:
fsck -nvf /dev/sda8 … czysto
Zatem wyszło mi, że to pojawia się w przypadku zamontowanej partycji, jeżeli ww. wartości zmienią się od ostatniego odmontowania.[/quote]
Tak właśnie dzieje się za każdym razem gdy np. dojdzie plik z logiem z kadu/Psi itp... [ przed skanowaniem ]
Mało tego, odmontowany /home i przeskanowany to jak piszesz - jest czysto.
Ciekawostka - na ext4 jest dokładnie tak samo
Offline
[quote=BlackEvo]Ciekawostka - na ext4 jest dokładnie tak samo[/quote]
Też właśnie na ext4 sprawdzałem, zapomniałem napisać.
Offline
[quote=morfik][quote=gindek]o_0 .... a jak myslisz na czym polega 'łindowłsowy' zabieg "defragmentacji" ?[/quote]
Przecie wiem na czym polega defragmentacja. Problem nie jest w tym, czy kopiować, czy nie, tylko co mam kopiować :] Na winie mam ładną rozpiskę który plik w ilu jest kawałkach. Jak już pisałem wcześniej na tej partycji jest prawie 20k plików, z czego tylko połowę(?) trzeba przekopiować. I jak już pisałem wcześniej - plik w 2 kawałkach dla mnie nie wymaga kopiowania, ale plik co ma 2k części już tak. [b]Problem jest w ustaleniu, które pliki są pofragmentowane ...[/b]
[quote=gindek]w windzie występował taki problem ponieważ system zapisywał informacje pokoleji sektor po sektorze, trafial na zajete miejsce to szukal pierwszego wolnego[/quote]
Może to był win 95 :D Na xp to nie jest do końca prawda. Kiedyś wgrywając paru GB plik, patrzyłem czy wypełni przestrzenie między plikami czyli się sfragmentuje. I co się okazało, wgrał cały plik w wolne miejsce.
[quote=gindek]cud ext3 polega na zapisaniu 10MB w odpowiednim miejsu na dysku :], tam gdzie sie zmiesci, w całości bez dzielenia go[/quote]
No dziwny ten cud skoro partycja ma wolne ponad 300gb (zwykle miała ponad 450 wolnego), a największy plik ma chyba 3gb, do tego plików jest 20k i ponad połowa ma co najmniej 2 części :][/quote]
ad1.
360GB wierz mi lub nie ale to nie jest dużo, przynajmniej do przemielenia na dysku.
ad2. na xp nie bylo problemu bo tam jest ntfs, wiec jezeli ladowales plik na partycje ntfs to mnie tez nie dziwi ze sie wrzucilo w "wolna przestrzen", ale że problem fragmentacji plikow na ntfs byl bardzo znikomy to nie jest zadna tajemnica.
ad3. to byl przyklad nie wiedzialem jaki jest stan twojej wiedzy to dalem ci przyklad zebys zalapal. ale dzieki ci wielki ze mnie oswieciles ile jest 650 - 360.
idac dalej .. 20k plikow to nie jest duzo,
[img]http://dl.dropbox.com/u/12024854/naDUG/Zrzut%20ekranu%202012-02-28%2018%3A52%3A42.png[/img]
[edit]
off top , arn ile masz partycji ?
Ostatnio edytowany przez gindek (2012-02-28 18:56:05)
Offline
Wiem ze 20k plików to nie jest dużo, zwłaszcza na 650GB - w samym LVMie mam 361.691 elementów o całkowitym rozmiarze 12,1 GB. LVM o wielkości 45GB. Niemniej jednak, 55% fragmentacji to jest bardzo dużo i jeżeli nie zmniejszę fragmentacji, to za rok będzie tam 99% :]
Gdyby to był ntfs, to bym się logował co tydzień może co dwa na wina i bym sobie robił defraga. Po pół godzinie (może mniej) system by mi połączył większość plików (częstrzy defrag, mniejszy burdel i mniej sprzątania). Na linuxie co prawda, bardzo fajne jest podejście jeżeli chodzi o błędy systemu plików i trzymanie tego systemu plików w należytym stanie, szkoda, że tego samego podejścia zabrakło przy fragmentacji :]
Offline
Time (s) | Query |
---|---|
0.00009 | SET CHARSET latin2 |
0.00004 | SET NAMES latin2 |
0.00098 | SELECT u.*, g.*, o.logged FROM punbb_users AS u INNER JOIN punbb_groups AS g ON u.group_id=g.g_id LEFT JOIN punbb_online AS o ON o.ident='3.14.250.187' WHERE u.id=1 |
0.00068 | REPLACE INTO punbb_online (user_id, ident, logged) VALUES(1, '3.14.250.187', 1732679535) |
0.00042 | SELECT * FROM punbb_online WHERE logged<1732679235 |
0.00042 | SELECT topic_id FROM punbb_posts WHERE id=196023 |
0.00006 | SELECT id FROM punbb_posts WHERE topic_id=20784 ORDER BY posted |
0.00044 | SELECT t.subject, t.closed, t.num_replies, t.sticky, f.id AS forum_id, f.forum_name, f.moderators, fp.post_replies, 0 FROM punbb_topics AS t INNER JOIN punbb_forums AS f ON f.id=t.forum_id LEFT JOIN punbb_forum_perms AS fp ON (fp.forum_id=f.id AND fp.group_id=3) WHERE (fp.read_forum IS NULL OR fp.read_forum=1) AND t.id=20784 AND t.moved_to IS NULL |
0.00006 | SELECT search_for, replace_with FROM punbb_censoring |
0.00116 | SELECT u.email, u.title, u.url, u.location, u.use_avatar, u.signature, u.email_setting, u.num_posts, u.registered, u.admin_note, p.id, p.poster AS username, p.poster_id, p.poster_ip, p.poster_email, p.message, p.hide_smilies, p.posted, p.edited, p.edited_by, g.g_id, g.g_user_title, o.user_id AS is_online FROM punbb_posts AS p INNER JOIN punbb_users AS u ON u.id=p.poster_id INNER JOIN punbb_groups AS g ON g.g_id=u.group_id LEFT JOIN punbb_online AS o ON (o.user_id=u.id AND o.user_id!=1 AND o.idle=0) WHERE p.topic_id=20784 ORDER BY p.id LIMIT 0,25 |
0.00243 | UPDATE punbb_topics SET num_views=num_views+1 WHERE id=20784 |
Total query time: 0.00678 s |