Нужна ли перезагрузка после того, как oom -killer убивает пользовательский процесс?

Вы можете превратить задачу в генерацию случайного числа между числом, представляющим первую возможную дату, и числом, представляющим последнюю возможную дату (, на самом деле сразу после последней возможной )в формате эпохи unix. Все остальное обрабатывается стандартными преобразованиями даты. gawkимеет лучшее разрешение случайных чисел, чемbash(float по сравнению с 15-битным целым числом ), поэтому я буду использовать gawk. Обратите внимание, что результат rand()N — это число с плавающей запятой, такое что 0 <= N < 1, поэтому верхний предел увеличивается ниже, это предел, который нельзя перевернуть. Есть необязательный третий параметр для количества результатов.

#!/usr/bin/gawk -f
BEGIN {
    first=mktime(ARGV[1] " 01 01 00 00 00")
    last=mktime(ARGV[2]+1 " 01 01 00 00 00")
    if (ARGC == 4) { num=ARGV[3] } else { num=1 }
    ARGC=1
    range=last-first
    srand(sprintf("%d%06d", systime(), PROCINFO["pid"]))
    for (i=1; i <= num; i++) {
        print strftime("%d/%m/%Y", range*rand()+first)
    }
}   

Например:

./randomdate.gawk 1987 2017 6
26/04/1992
28/04/2010
21/04/2005
17/02/2010
06/10/2016
04/04/1998
0
31.03.2021, 03:22
1 ответ

"Кажется, рекомендуется перезагрузить компьютер"... это особенность Windows, кажется, рекомендуется практически для всего. Нет, перезагружаться не нужно. Но посмотрите, что вызвало состояние OOM --, был ли процесс, который был убит, или какой-то другой процесс (es )начал потреблять слишком много памяти. Кроме того, посмотрите, не нужно ли вам освободить место подкачки на этой машине.

1
28.04.2021, 22:54

Теги

Похожие вопросы