-
11. Data: 2017-02-03 20:08:08
Temat: Re: Jak stwierdzić wielkość użytecznej wolnej pamięci?
Od: Borneq <b...@a...hidden.pl>
W dniu 03.02.2017 o 20:03, bartekltg pisze:
> A to w jakimkolwiek pliku (systemie operacyjnym) można przesunąć
> poczatek pliku?
W nowszych systemach plików jest coś takiego jak dziury w NTFS, powinny
być także w Ext3. Niby plik jest duży ale jakaś jego część nie jest
przypisana do żadnego bloku dyskowego i odczytuje się zera, niezależnie
co zapisać.
-
12. Data: 2017-02-04 03:16:01
Temat: Re: Jak stwierdzi? wielko?? u?ytecznej wolnej pami?ci?
Od: a...@m...uni.wroc.pl
Borneq <b...@a...hidden.pl> wrote:
> W dniu 03.02.2017 o 20:03, bartekltg pisze:
> > A to w jakimkolwiek pliku (systemie operacyjnym) mo?na przesun??
> > poczatek pliku?
>
> W nowszych systemach plik?w jest co? takiego jak dziury w NTFS, powinny
> by? tak?e w Ext3. Niby plik jest du?y ale jaka? jego cz??? nie jest
> przypisana do ?adnego bloku dyskowego i odczytuje si? zera, niezale?nie
> co zapisa?.
Dziury sa od dawna. Ale robi sie je przeskakujac dana pozycje,
czyli dziura jest tam gdzie nie pisales, jak zapisales to nie
ma dziury. Nie wiem czy da sie zrobic dziure "wymazujac" to
co bylo zapisane.
Sortowania bez uzycia duzego dodatkowego obszaru mozna zrobic
bez dziur. Po prostu w posrednich etapach logiczny plik dzielisz
na bloki i kazdy blok zapisujesz w oddzielnym pliku systemu
plikow. W pierszym przebiegu czytasz bloki od konca i
zwalniasz miejsce skracajac plik. W nastepnych zuzyte bloki
mozesz kasowac. Narzut to oczywiscie dodatkowe informacje
w systemie plikow zwiazane z tym ze masz wiele "malych"
plikow zamiast jedznego duzego -- rzedu kilkuset bajtow
na plik czyli przy blokach rzedu 4MB mala czesc danych.
Do tego wiekszosc dodatkowego zuzycia jest w obszarze
inodes ktory jest zaalokowany niezaleznie czy go uzyjesz
czy nie. Przy laczeniu z 256 zrodel mozesz miec 256 prawie
pustych blokow czyli rzedu 1GB stalego narzutu. Biorac
pod uwage ze Uniksowe filesystemy rezerwuja 5-10% dysku
dla poprawy wydajnosci te dodatkowe obszary ktore
potrzebujesz sa bardzo male. W praktyce to pewnie
by sie opuznialo kasowanie by ograniczyc prawdopodobne
straty w przypadku padu systemu (taki sort to zajmie
sporo czasu wiec szansa na pad nie tak mala).
--
Waldek Hebisch
-
13. Data: 2017-02-04 14:59:52
Temat: Re: Jak stwierdzić wielkość użytecznej wolnej pamięci?
Od: "M.M." <m...@g...com>
On Friday, February 3, 2017 at 2:07:18 PM UTC+1, Borneq wrote:
> W dniu 03.02.2017 o 13:51, Maciej Sobczak pisze:
> > Jak chcesz mieć dostęp do fizycznego sprzętu, to pisz programy bezpośrednio na
ten fizyczny sprzęt. W ramach kompromisu, być może funkcje mapujące pamięć mają
jakieś opcje, które pozwalają kontrolować stopień "nieruszalności" jakiegoś bloku
albo zakresu adresów - może się wtedy jednak okazać, że będziesz musiał tam samemu
zorganizować sobie alokację.
>
> Chodzi o to: działam na wielkich plikach, lepiej bym używał tyle pamięci
> ile mogę aby było szybciej.
> Przykład: sortowanie zewnętrzne 3-plikowe lub większa ilość plików. Aby
> zmniejszyć zdecydowanie ilość przerzucań tym plikiem, przepuszczam przez
> stóg, jak największy, tyle ile mam pamięci, Wtedy plik składa się z
> dużych kawałków posortowanych.
A rozwiązanie najprostsze? Poprosić użytkownika o podanie pamięci
jaką program może wykorzystać? Zasugerować użytkownikowi np. 50%
wolnego ramu?
Pozdrawiam
-
14. Data: 2017-02-07 23:42:44
Temat: Re: Jak stwierdzić wielkość użytecznej wolnej pamięci?
Od: Borneq <b...@a...hidden.pl>
W dniu 03.02.2017 o 20:03, bartekltg pisze:
> http://www.csbio.unc.edu/mcmillan/Media/Comp521F10Le
cture17.pdf
> Ładnie, kolorowo, bez traści kodu z którego i tak nie skorzystamy ;-)
Co to znaczy, że B+ drzewa są "clustered"? z obrazka wynika , że oznacza
to posortowane całe dane?
-
15. Data: 2017-02-07 23:52:02
Temat: Re: Jak stwierdzić wielkość użytecznej wolnej pamięci?
Od: Borneq <b...@a...hidden.pl>
W dniu 07.02.2017 o 23:42, Borneq pisze:
> W dniu 03.02.2017 o 20:03, bartekltg pisze:
>> http://www.csbio.unc.edu/mcmillan/Media/Comp521F10Le
cture17.pdf
>> Ładnie, kolorowo, bez traści kodu z którego i tak nie skorzystamy ;-)
>
> Co to znaczy, że B+ drzewa są "clustered"? z obrazka wynika , że oznacza
> to posortowane całe dane?
>
doczytałem: "Indeks nazywamy pogrupowanym (wewnętrznym) (ang. clustered)
gdy zachodzi przypadek 1i) w definicji pozycji danych oraz plik danych
jest posortowany według wartości klucza wyszukiwania tego indeksu. W
rezultacie, rekordy o tej samej wartości klucza lub zbliżonej znajdują
się na tej samej stronie lub tylko na kilku stronach dyskowych. Może być
tylko jeden indeks pogrupowany, bo plik danych można posortować według
wartości tylko jednego klucza wyszukiwania. Indeks, który jest nie
pogrupowany jest nazywany indeksem zewnętrznym."
http://edu.pjwstk.edu.pl/wyklady/sbd/scb/w9.htm
-
16. Data: 2017-02-21 22:40:55
Temat: Re: Jak stwierdzić wielkość użytecznej wolnej pamięci?
Od: Bartłomiej Golenko <b...@z...ita.pwr.wroc.pl>
Borneq <b...@a...hidden.pl> wrote:
> Mam program operujący na dużych plikach. Im więcej wczyta do pamięci na
> raz tym szybciej zadziała. Ale nie może więcej czytać bo albo pamięć się
> skończy albo zacznie się używania swapa.
Pod Linuksem:
cat /proc/meminfo | grep MemAvailable
B.
-
17. Data: 2017-02-22 15:12:16
Temat: Re: Jak stwierdzić wielkość użytecznej wolnej pamięci?
Od: g...@s...invalid (Adam Wysocki)
Bartłomiej Golenko <b...@z...ita.pwr.wroc.pl> wrote:
> Pod Linuksem:
>
> cat /proc/meminfo | grep MemAvailable
UUOC
http://porkmail.org/era/unix/award.html
--
http://www.chmurka.net/
-
18. Data: 2017-02-22 15:30:25
Temat: Re: Jak stwierdzić wielkość użytecznej wolnej pamięci?
Od: "Stachu 'Dozzie' K." <d...@g...eat.some.screws.spammer.invalid>
On 2017-02-22, Adam Wysocki <g...@s...invalid> wrote:
> Bartłomiej Golenko <b...@z...ita.pwr.wroc.pl> wrote:
>
>> Pod Linuksem:
>>
>> cat /proc/meminfo | grep MemAvailable
>
> UUOC
>
> http://porkmail.org/era/unix/award.html
A się zastanawiałem, czy mu wytknąć, że zabrakło mu cuta i awka.
--
Secunia non olet.
Stanislaw Klekot
-
19. Data: 2017-02-22 15:32:12
Temat: Re: Jak stwierdzić wielkość użytecznej wolnej pamięci?
Od: bartekltg <b...@g...com>
On 22.02.2017 15:12, Adam Wysocki wrote:
> Bartłomiej Golenko <b...@z...ita.pwr.wroc.pl> wrote:
>
>> Pod Linuksem:
>>
>> cat /proc/meminfo | grep MemAvailable
>
> UUOC
>
> http://porkmail.org/era/unix/award.html
</proc/meminfo | grep MemAvailable
U mnie nie działa. Ubuntu 16.
grep MemAvailable </proc/meminfo
To oczywiśćie działa.
Ale...
"The fact that the same thread ("but but but, I think it's cleaner /
nicer / not that much of a waste / my privelege to waste processes!")
springs up virtually every time the Award is posted is also Ancient
Usenet Tradition."
Aby tradycji stało się za dość. Co złego w tym cat?
W babechach wielkiego nakładu pracy nie wykonujemy:)
Albo nie widzę jakiegoś problemu.
pzdr
bartekltg
-
20. Data: 2017-02-22 15:53:06
Temat: Re: Jak stwierdzić wielkość użytecznej wolnej pamięci?
Od: g...@s...invalid (Adam Wysocki)
bartekltg <b...@g...com> wrote:
> </proc/meminfo | grep MemAvailable
> U mnie nie działa. Ubuntu 16.
U mnie też nie.
> grep MemAvailable </proc/meminfo
> To oczywiśćie działa.
grep MemAvailable /proc/meminfo
Też zadziała.
> "The fact that the same thread ("but but but, I think it's cleaner /
> nicer / not that much of a waste / my privelege to waste processes!")
> springs up virtually every time the Award is posted is also Ancient
> Usenet Tradition."
>
> Aby tradycji stało się za dość. Co złego w tym cat?
> W babechach wielkiego nakładu pracy nie wykonujemy:)
Zalogujmy się na wolną maszynę, żeby lepiej to było widać... :)
gof@blade:~$ time for f in $(seq 1 100); do grep MemAvailable /proc/meminfo; done >
/dev/null
real 0m1.201s
user 0m0.532s
sys 0m0.360s
gof@blade:~$ time for f in $(seq 1 100); do cat /proc/meminfo | grep MemAvailable;
done > /dev/null
real 0m1.835s
user 0m0.908s
sys 0m0.656s
No i tworzymy dwa procesy zamiast jednego, i przelewamy z pustego
w próżne (więcej syscalli)...
> Albo nie widzę jakiegoś problemu.
Dla zasady :)
--
http://www.chmurka.net/