Вот много где читал этот совет, что не нужно совсем выключать своп. Но под win 7, 16 gb ram, 256 gb ssd под винду, 512 gb ssd под стим переодически ловил в играх статтеры. Стоило только выключить своп всё становилось ок. Но если запустить android студию + эмулятор + тяжёлую игру, то естественно можно словит вылет игры из-за нехватки памяти. Докупил оперативы до 32, пробовал играться с свопом, всё то же самое. С включенным свопом статтеры есть, хоть и реже, с выключенным статтеров нет. Под Win 10 не экспериментировал.
Да легко, просто понять на какой кусочек агрится антивирус и немного модифицировать его. Я в своё время на делфях написал маленькую утилитку которая заменяет в реестре путь для принтеров и перезапускает спулер. Дак на неё ругался антивирус. Просто перекомпиляция этого же проекта в чуть более старой версии делфей не вызывала нареканий у антивируса.
procedure TForm1.RunReplace;
var
reg :TExRegistry;
strs, Strings :TStringList;
i, bufLen :integer;
sNew, sOld, sPath, sPrinter, Params, CmdLine, Process :string;
ReplacedCount :integer;
KeyDataType :integer;
si: TStartupInfo;
pi: TProcessInformation;
begin
Memo1.Clear;
ReplacedCount := 0;
reg := TExRegistry.Create;
strs := TStringList.Create;
strings := TStringList.Create;
reg.RootKey := HKEY_LOCAL_MACHINE;
reg.Access := KEY_ALL_ACCESS;
sPath := 'SOFTWARE\Microsoft\Windows NT\CurrentVersion\Ports';
if reg.OpenKey(sPath, false) then
begin
//reg.GetKeyNames(strs);
reg.GetValueNames(strs);
for i := 0 to strs.Count - 1 do
begin
sOld := strs[i];
sNew := sOld;
if ReplaceSrv1Str(sNew) then
begin
ReplacedCount := ReplacedCount + 1;
reg.RenameValue(sOld, sNew);
Memo1.Lines.Add(sPath + ' ' + sNew);
end;
end;
reg.CloseKey;
end;
sPath := 'SOFTWARE\Microsoft\Windows NT\CurrentVersion\Print\Printers';
if reg.OpenKey(sPath, false) then
begin
reg.GetKeyNames(strs);
reg.CloseKey;
for i := 0 to strs.Count - 1 do
begin
sPrinter := strs[i];
sPath := 'SOFTWARE\Microsoft\Windows NT\CurrentVersion\Print\Printers\' + sPrinter;
if reg.OpenKey(sPath, false) then
begin
sOld := reg.ReadString('Port');
sNew := sOld;
if ReplaceSrv1Str(sNew) then
begin
ReplacedCount := ReplacedCount + 1;
reg.WriteString('Port', sNew);
Memo1.Lines.Add(sPath + ' Port = ' + sNew);
end;
reg.CloseKey;
sPath := sPath + '\DsSpooler';
if reg.OpenKey(sPath, false) then
begin
reg.ReadStringList('portName', strings);
if Strings.Count > 0 then sOld := Strings[0] else sOld := '';
sNew := sOld;
if ReplaceSrv1Str(sNew) then
begin
ReplacedCount := ReplacedCount + 1;
Strings[0] := sNew;
reg.WriteStringList('portName', Strings);
Memo1.Lines.Add(sPath + ' portName = ' + sNew);
end;
reg.CloseKey;
end;
end;
end;
end;
ZeroMemory(@si, SizeOf(si));
si.cb := SizeOf(si);
Process := 'c:\Windows\System32\net.exe';
Params := 'stop Spooler';
CmdLine := Format('"%s" %s', [Process, Params]);
CreateProcess(PChar(Process), PChar(CmdLine) ,nil, nil,false, 0, nil,nil,si,pi);
WaitForSingleObject(pi.hProcess, INFINITE);
CloseHandle(pi.hThread);
CloseHandle(pi.hProcess);
ZeroMemory(@si, SizeOf(si));
si.cb := SizeOf(si);
Process := 'c:\Windows\System32\net.exe';
Params := 'start spooler';
CmdLine := Format('"%s" %s', [Process, Params]);
CreateProcess(PChar(Process), PChar(CmdLine) ,nil, nil,false, 0, nil,nil,si,pi);
WaitForSingleObject(pi.hProcess, INFINITE);
CloseHandle(pi.hThread);
CloseHandle(pi.hProcess);
Memo1.Lines.Add('Выполнено '+IntToStr(ReplacedCount)+' замен');
end;
На ютубе у Юрия Ткачёва есть очень хорошее обьяснение как оно там внутри работает - "Квантовый компьютер: что это такое и зачем он нужен?"
Смотря что за данные, потому что блокировки, нехватка места под rollback сегмент и прочее.
В oracle используется для join Вероятностный bloom filter
И approx_count_distinct думаю на схожих принципах работает.
Нет такого требования, по крайней мере в большинстве основных СУБД.
Я так понимаю APPROX_COUNT_DISTINCT в Oracle построен на этом.
Вот много где читал этот совет, что не нужно совсем выключать своп. Но под win 7, 16 gb ram, 256 gb ssd под винду, 512 gb ssd под стим переодически ловил в играх статтеры. Стоило только выключить своп всё становилось ок. Но если запустить android студию + эмулятор + тяжёлую игру, то естественно можно словит вылет игры из-за нехватки памяти. Докупил оперативы до 32, пробовал играться с свопом, всё то же самое. С включенным свопом статтеры есть, хоть и реже, с выключенным статтеров нет. Под Win 10 не экспериментировал.
Sony то же обновляются.
Да легко, просто понять на какой кусочек агрится антивирус и немного модифицировать его. Я в своё время на делфях написал маленькую утилитку которая заменяет в реестре путь для принтеров и перезапускает спулер. Дак на неё ругался антивирус. Просто перекомпиляция этого же проекта в чуть более старой версии делфей не вызывала нареканий у антивируса.
Нужен доводчик, как в авто.
Посмотрите "ВСЁ НЕ ТАК С ВАЛВ" от Морфа.