OP
Size: a a a
OP
OP
OP
OP
OP
OP
ВР
perl -E '$a="a"x1048576; $b.=$a,sleep 0.1 for 1..4096; say -big; sleep 20; undef $b; say -freed; sleep 20'
и вижу в top
PID USERNAME THR PRI NICE SIZE RES STATE C TIME WCPU COMMANDи потом на выводе
6764 nobody 1 52 0 5136M 4112M nanslp 1 0:02 25.65% perl -E $a="a"x1048576; $b.=$a,sleep 0.1
-freed
падает до PID USERNAME THR PRI NICE SIZE RES STATE C TIME WCPU COMMAND
6764 nobody 1 24 0 16560K 7856K nanslp 2 0:02 0.00% perl -E $a="a"x1048576; $b.=$a
VG
perl -E '$a="a"x1048576; @b=(); push(@b,"$a"),sleep 0.1 for 1..2046; say -big; sleep 20; undef @b; say -freed; sleep 20
отдаетVG
perl -E '$a="a"x1024; @b=(); say -start; sleep 9; push(@b,"$a"),sleep 0.1 for 1..1048576; say -big; sleep 20; $b[$_]=undef for 1..1048576; say -freed; sleep 20'
хоба, вот так вообще ничего не отдалW
VG
W
W
VG
W
VG
VG
W
VG
W