forum.wfido.ru  

Вернуться   forum.wfido.ru > Прочие эхи > RU.UNIX.BSD

Ответ
 
Опции темы Опции просмотра
  #11  
Старый 12.05.2018, 01:21
Slawa Olhovchenkov
Guest
 
Сообщений: n/a
По умолчанию ARC max size

Slawa Olhovchenkov написал(а) к Eugene Grosbein в May 18 00:18:16 по местному времени:

Нello Eugene!

12 May 18, Eugene Grosbein writes to Slawa Olhovchenkov:

SO>>>> женя, твой любимый костыль сломан:
SO>>>> vfs.zfs.arc_max=367001600
SO>>>> ARC Size: 137.21% 480.24 MiB
SO>>>> Target Size: (Adaptive) 100.00% 350.00 MiB
SO>>>> Min Size (Нard Limit): 43.71% 152.99 MiB
SO>>>> Max Size (Нigh Water): 2:1 350.00 MiB
SO>>>> На самом деле даже это все вранье и ARC жрет в данном случае
SO>>>> примерно
SO>>>> 28.309 zfsznodecache 264*(112417+23)
SO>>>> 36.250 ziodata_buf131072 131072*(78+212)
SO>>>> 38.252 dmubuf_implt 232*(168711+4179)
SO>>>> 79.938 ziobuf512 512*(160568+3144)
SO>>>> 92.703 ziobuf16384 16384*(5829+104)
SO>>>> 113.354 dnode_t 728*(160804+2466)
SO>>>> 749.027 abd_chunk 4096*(35881+155870)
SO>>>> 1138.46MB
EG>>> В таких случаях тащем-то надо упоминать ветку, ревизию и даже
EG>>> платформу, так как неработа лимита на i386 для меня не новость. И
EG>>> наличие локальных патчей на ZFS тоже.
SO>> ой, ну догадайся: 11-STABLE latest, amd64, ванилька (никаких патчей
SO>> вообще) стал бы я гундеть, если бы там были какие-то патчи? всегда же
SO>> можно попытаться стрелки перевести.

EG> Ну вот у меня есть 11.1-STABLE/amd64 r325097 с 64G памяти,
EG> ZFS и лимитом в 32G. Откуда вообще отквоченные цифры и как
EG> мне посмотреть их у себя?

ограничиваешь всю память до двух гигов (возможно это опционально)
разворачиваешь сырцы
скрипт size.pl
#!/usr/bin/perl
use Fcntl ':mode';
$list = shift @ARGV;
open F,'<',$list;
while(<F>) {
@F = split;
my
($dev,$ino,$mode,$nlink,$uid,$gid,$rdev,$size,$atime,$mtime,$ctime,$blksize,$blocks)
= stat($F[0]);
next unless $mode & S_IFREG;
next if $size == 0;
print "$F[0] $size\n";
}
close F;

find /usr/src | size.pl > list.size

скрипт test-mfu.pl
#!/usr/bin/perl
# input is file list w/ sizes from 2)
$list = shift @ARGV;
$set_size = shift @ARGV;
my (@mfu, @mru);
$mfut_size = 10241024$setsize;
$mfu_size = 0;
$mru_size = 0;
print "Size calculated\n";
open F,'<',$list;
while(<F>) {
@F = split;
if($mfusize < $mfu_tsize) {
$mfu_size += $F[1];
push @mfu, $F[0];
} else {
$mru_size += $F[1];
push @mru, $F[0];
}
}
close F;
print "MFU $mfusize MRU $mrusize\n";
print "Started\n";
my @List = @mru;
$cnt = 4; $n = $cnt;
foreach $f (@mfu) {
open F,'<', $f; while(<F>) { } close F;
}
print "Loop2\n";
while(1) {
foreach $f (@mfu) {
open F,'<', $f; while(<F>) { } close F;
if(--$n == 0) {
$n = $cnt;
$l = shift @List;
if(scalar @mru == 0) {
@List = @mru;
print "mru reset\n";
}
open F,'<', $l; while(<F>) { } close F;
}
}
print "Loop\n";
}

Запускаем с
vfs.zfs.arc_max=367001600
test-mfu.pl list.size 300

проверяем через zfs-stats -A
еще скрпит vmstatSum.pl
#!/usr/bin/perl
while(<>) {
if($s == 2 && /^$/) { exit 0; }
if($s == 1 && /^$/) { $s = 2; next; }
if(/^ITEM/) { $s = 1; next; }
next unless ($s == 2);
printf "%8.3f %20s %d(%d+%d)\n", $2($3+$4)/1024/1024, $1, $2,$3,$4 if /(.+):\s+(\d+),\s+\d+,\s+(\d+),\s+(\d+),/;
}

vmstat -z | vmstatSum.pl | sort -n




... 60кг нераспечатанных листингов сберегают одно дерево.
--- GoldED+/BSD 1.1.5-b20110223-b20110223
Ответить с цитированием
  #12  
Старый 12.05.2018, 03:11
Alex Korchmar
Guest
 
Сообщений: n/a
По умолчанию Re: ARC max size

Alex Korchmar написал(а) к Slawa Olhovchenkov в May 18 01:52:01 по местному времени:

From: Alex Korchmar <noreply@linux.e-moe.ru>

Slawa Olhovchenkov <Slawa.Olhovchenkov@f500.n5030.z2.fidonet.org> wrote:

SO> так ты пальцем-то покажи, что и как там автоматизированно.
SO> засовываешь в гит версию до ARC compress.
SO> прикладываешь мой патч.
проблема, банально в том, что a) твой патч давно было бы невозможно приложить,
если бы не модификации в трех местах b) помимо твоего есть еще мои.
И я вот хз как это сделать с svn. Ну не жениным же методом с разглядыванием
диффов патчей.

SO> апдейтишь до последней STABLE (ну просто дифф накатываешь).
просто дифф - заманаешься править. Там merge тем и лучше, что он знает
о мелких изменениях по дороге, поэтому шансов тривиальные вещи сделать быстро
или вовсе автоматически, у него больше.

Надо перебираться на git-svn целиком тогда (заодно можно будет на халяву
тырить патчи из апстримов, да и вообще смотреть, чем отличаются),
но я пока на это не готов.

SO> ну кажется его можно более-менее вырубить.
SO> booleant zfs_abd_scatter_enabled = BFALSE;
это, по-моему, только половину отключает, жрать он, наверное, не перестанет.

SO> она кажется пока только по названию асинхронная.
SO> просто переименовали кажется, в данный момент.
значит, опять повиснет.
И, кстати, да, эту abd-хрень добавляли в надежде что-то там сделать хорошо для
compressed arc. Я так и не докопался, чем именно.


> Alex

--- ifmail v.2.15dev5.4
Ответить с цитированием
  #13  
Старый 12.05.2018, 03:23
Slawa Olhovchenkov
Guest
 
Сообщений: n/a
По умолчанию ARC max size

Slawa Olhovchenkov написал(а) к Alex Korchmar в May 18 02:06:56 по местному времени:

Нello Alex!

12 May 18, Alex Korchmar writes to Slawa Olhovchenkov:

SO>> так ты пальцем-то покажи, что и как там автоматизированно.
SO>> засовываешь в гит версию до ARC compress.
SO>> прикладываешь мой патч.
AK> проблема, банально в том, что a) твой патч давно было бы невозможно
AK> приложить, если бы не модификации в трех местах

так вот на когда было возможно -- тогда и прикладываешь.

AK> b) помимо твоего есть еще мои.

ну ты же топил за то, как классно git это позволяет разделять!
я же тоже коворил, что у меня есть еще патчи

AK> И я вот хз как это сделать с svn. Ну не жениным же методом с
AK> разглядыванием диффов патчей.

ты на git сделай

SO>> апдейтишь до последней STABLE (ну просто дифф накатываешь).
AK> просто дифф - заманаешься править. Там merge тем и лучше, что он знает
AK> о мелких изменениях по дороге, поэтому шансов тривиальные вещи сделать
AK> быстро или вовсе автоматически, у него больше.

abd влепили сразу большим куском.
arc compress -- аналогично.
о чем ты говоришь?

SO>> ну кажется его можно более-менее вырубить.
SO>> booleant zfs_abd_scatter_enabled = BFALSE;
AK> это, по-моему, только половину отключает, жрать он, наверное, не
AK> перестанет.

перестанет. оно типа сразу по старинке пойдет, через зоны. еще и ARC там где-то с чем-то шарится начнет.
ну как диагональный взгляд на код говорит.

SO>> она кажется пока только по названию асинхронная.
SO>> просто переименовали кажется, в данный момент.
AK> значит, опять повиснет.
AK> И, кстати, да, эту abd-хрень добавляли в надежде что-то там сделать хорошо
AK> для compressed arc. Я так и не докопался, чем именно.

хз. мне только этих копирований и не хватает (храним компрессированным, отдаем разжатым, нахуй мне это надо?)

... Buing a Pentium II you can reboot faster
--- GoldED+/BSD 1.1.5-b20110223-b20110223
Ответить с цитированием
  #14  
Старый 12.05.2018, 11:02
Alex Korchmar
Guest
 
Сообщений: n/a
По умолчанию Re: ARC max size

Alex Korchmar написал(а) к Slawa Olhovchenkov в May 18 09:42:15 по местному времени:

From: Alex Korchmar <noreply@linux.e-moe.ru>

Slawa Olhovchenkov <Slawa.Olhovchenkov@f500.n5030.z2.fidonet.org> wrote:

SO> ну ты же топил за то, как классно git это позволяет разделять!
так для этого нужен git, а не имитация.
С полным всосом изменений из svn, с ручным всосом своих поштучно.

При этом как и насколько прилично работает первое и не сломается ли чего -
надо проверять.

SO> abd влепили сразу большим куском.
это отдельная песня ( к тому же, похоже, лучшее что по этом поводу можно
сделать - выпилить обратно). А мы о той части возни. которая может быть
автоматической - а по факту вручную ковыряюсь с .rej

AK>> И, кстати, да, эту abd-хрень добавляли в надежде что-то там сделать хорошо
AK>> для compressed arc. Я так и не докопался, чем именно.
SO> хз. мне только этих копирований и не хватает (храним
SO> компрессированным, отдаем разжатым, нахуй мне это надо?)
там идея в том, что зато не разжимается на чтении - как с диска сжатое
прочитали, так и лежит. А разжимать может и вовсе не понадобится - например,
если притащил prefetch и не угадал.

Ну и все ж врали что "потери на lz4 незаметны" (а что они "незаметны"
только в случае обычных дисков, избытка cpu и свободной памяти -
как-то постепенно забыли)

> Alex

--- ifmail v.2.15dev5.4
Ответить с цитированием
  #15  
Старый 12.05.2018, 12:51
Slawa Olhovchenkov
Guest
 
Сообщений: n/a
По умолчанию ARC max size

Slawa Olhovchenkov написал(а) к Alex Korchmar в May 18 11:36:02 по местному времени:

Нello Alex!

12 May 18, Alex Korchmar writes to Slawa Olhovchenkov:

SO>> ну ты же топил за то, как классно git это позволяет разделять!
AK> так для этого нужен git, а не имитация.
AK> С полным всосом изменений из svn, с ручным всосом своих поштучно.

AK> При этом как и насколько прилично работает первое и не сломается ли чего -
AK> надо проверять.

это если бы одно место там часто правилось. а это не так.
фактически там каждое место можно считать правилось по одному разу.
так что одним патчем можно симитировать.

SO>> abd влепили сразу большим куском.
AK> это отдельная песня ( к тому же, похоже, лучшее что по этом поводу можно
AK> сделать - выпилить обратно).

хуй. слишком много. и потом прошлись еще несколько раз

AK> А мы о той части возни. которая может быть автоматической - а по факту
AK> вручную ковыряюсь с .rej

зачем с .rej ковыряться? даже svn автоматизирует эту работу.

AK>>> И, кстати, да, эту abd-хрень добавляли в надежде что-то там сделать
AK>>> хорошо для compressed arc. Я так и не докопался, чем именно.
SO>> хз. мне только этих копирований и не хватает (храним
SO>> компрессированным, отдаем разжатым, нахуй мне это надо?)
AK> там идея в том, что зато не разжимается на чтении - как с диска сжатое
AK> прочитали, так и лежит. А разжимать может и вовсе не понадобится -
AK> например, если притащил prefetch и не угадал.

у меня префетч вырублен. если я прочитал -- я потреблю. причем неоднократно.

... Сэр, я ничего не хочу сказать, но, сэр, мухи... они редко ошибаются, сэр!
--- GoldED+/BSD 1.1.5-b20110223-b20110223
Ответить с цитированием
  #16  
Старый 12.05.2018, 14:03
Eugene Grosbein
Guest
 
Сообщений: n/a
По умолчанию Re: ARC max size

Eugene Grosbein написал(а) к Slawa Olhovchenkov в May 18 17:33:59 по местному времени:

11 мая 2018, пятница, в 22:18 NOVT, Slawa Olhovchenkov написал(а):

EG>> Ну вот у меня есть 11.1-STABLE/amd64 r325097 с 64G памяти,
EG>> ZFS и лимитом в 32G. Откуда вообще отквоченные цифры и как
EG>> мне посмотреть их у себя?
SO> ограничиваешь всю память до двух гигов (возможно это опционально)
SO> разворачиваешь сырцы
SO> скрипт size.pl
SO> #!/usr/bin/perl
SO> use Fcntl ':mode';
SO> $list = shift @ARGV;
SO> open F,'<',$list;
SO> while(<F> ) {
SO> @F = split;
SO> my
SO> ($dev,$ino,$mode,$nlink,$uid,$gid,$rdev,$size,$atime,$mtime,$ctime,$blksize,$blocks)
SO> = stat($F[0]);
SO> next unless $mode & S_IFREG;
SO> next if $size == 0;
SO> print "$F[0] $size\n";
SO> }
SO> close F;
SO> find /usr/src | size.pl > list.size

Вот это не работает. Судя по коду, тут пара проблем.
Во-первых, оно хочет результат find в именованном файле
и имя файла аргументом, а не поток через stdin.

Во-вторых, оно использует stat вместо lstat, а в дереве src
есть пара симлинков, в результате чего эти файлы попадают
в список дважды, со своим именем и с именем линка.

И по-моему, то же самое даёт просто команда

find /usr/src -type f \! -size 0 | xargs stat -f "%N %z" > list.size

Только без багов, м?

Eugene
--- slrn/1.0.2 (FreeBSD)
Ответить с цитированием
  #17  
Старый 12.05.2018, 14:31
Slawa Olhovchenkov
Guest
 
Сообщений: n/a
По умолчанию ARC max size

Slawa Olhovchenkov написал(а) к Eugene Grosbein в May 18 13:20:18 по местному времени:

Нello Eugene!

12 May 18, Eugene Grosbein writes to Slawa Olhovchenkov:

EG> Вот это не работает. Судя по коду, тут пара проблем.
EG> Во-первых, оно хочет результат find в именованном файле
EG> и имя файла аргументом, а не поток через stdin.

а, я забыл. ну у меня именно так и работало.

EG> Во-вторых, оно использует stat вместо lstat, а в дереве src
EG> есть пара симлинков, в результате чего эти файлы попадают
EG> в список дважды, со своим именем и с именем линка.

да посрать. у меня так работает.

EG> И по-моему, то же самое даёт просто команда

EG> find /usr/src -type f \! -size 0 | xargs stat -f "%N %z" > list.size

EG> Только без багов, м?

да без разницы. на воспроизводимость не влияет.

... И вообще, я сегодня не обедала...
--- GoldED+/BSD 1.1.5-b20110223-b20110223
Ответить с цитированием
  #18  
Старый 12.05.2018, 14:41
Eugene Grosbein
Guest
 
Сообщений: n/a
По умолчанию Re: ARC max size

Eugene Grosbein написал(а) к Slawa Olhovchenkov в May 18 18:06:12 по местному времени:

11 мая 2018, пятница, в 22:18 NOVT, Slawa Olhovchenkov написал(а):

SO>>>>> 749.027 abd_chunk 4096*(35881+155870)

Собственно, я спрашивал, разумеется, не про конкретные цифры,
а откуда они взяты.

SO> vmstat -z | vmstatSum.pl | sort -n

Из vmstat -z, понятно.

Eugene
--- slrn/1.0.2 (FreeBSD)
Ответить с цитированием
  #19  
Старый 12.05.2018, 15:02
Alex Korchmar
Guest
 
Сообщений: n/a
По умолчанию Re: ARC max size

Alex Korchmar написал(а) к Slawa Olhovchenkov в May 18 13:42:51 по местному времени:

From: Alex Korchmar <noreply@linux.e-moe.ru>

Slawa Olhovchenkov <Slawa.Olhovchenkov@f500.n5030.z2.fidonet.org> wrote:

SO> это если бы одно место там часто правилось. а это не так.
ну вот WAKE_PAGER - ровно по тому же месту.

SO> зачем с .rej ковыряться? даже svn автоматизирует эту работу.
он ее паршиво автоматизирует - в тех случаях, когда можно было автоматически
все сделать. Потому что не умеет нормальные мержи.

AK>> прочитали, так и лежит. А разжимать может и вовсе не понадобится -
AK>> например, если притащил prefetch и не угадал.
SO> у меня префетч вырублен.
ну и зря, меряли же еще до arc compress - он на мелких файлах (то есть вообще
файлах а не томах, скажем, или архивах по гигу) съедает чуть не треть скорости.

> Alex

--- ifmail v.2.15dev5.4
Ответить с цитированием
  #20  
Старый 12.05.2018, 15:02
Slawa Olhovchenkov
Guest
 
Сообщений: n/a
По умолчанию ARC max size

Slawa Olhovchenkov написал(а) к Alex Korchmar в May 18 13:50:18 по местному времени:

Нello Alex!

12 May 18, Alex Korchmar writes to Slawa Olhovchenkov:

SO>> это если бы одно место там часто правилось. а это не так.
AK> ну вот WAKE_PAGER - ровно по тому же месту.

окей, сделай тремя патчами/коммитами.

SO>> зачем с .rej ковыряться? даже svn автоматизирует эту работу.
AK> он ее паршиво автоматизирует - в тех случаях, когда можно было
AK> автоматически все сделать. Потому что не умеет нормальные мержи.

так продемонстрируй.

AK>>> прочитали, так и лежит. А разжимать может и вовсе не понадобится -
AK>>> например, если притащил prefetch и не угадал.
SO>> у меня префетч вырублен.
AK> ну и зря, меряли же еще до arc compress - он на мелких файлах (то есть
AK> вообще файлах а не томах, скажем, или архивах по гигу) съедает чуть не
AK> треть скорости.

нет, не зря. у меня все посчитато и расчитанно и для для этого блоки по мегабайту сделаны.

... А их там было?! Их там не было!
--- GoldED+/BSD 1.1.5-b20110223-b20110223
Ответить с цитированием
Ответ

Опции темы
Опции просмотра

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.

Быстрый переход


Текущее время: 17:20. Часовой пояс GMT +4.


Powered by vBulletin® Version 3.8.7
Copyright ©2000 - 2024, vBulletin Solutions, Inc. Перевод: zCarot