The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]



Вариант для распечатки  
Пред. тема | След. тема 
Форум Разговоры, обсуждение новостей
Режим отображения отдельной подветви беседы [ Отслеживать ]

Оглавление

Сообщения [Сортировка по времени | RSS]


498. "Linux ядро не может мягко обрабатывать ситуации с нехваткой ..."  +/
Сообщение от Annoynymous (ok), 07-Авг-19, 22:56 
Я чёт не понял юмора…

$ /usr/bin/time -v  python -c '{x:str(x)*(x**x**x) for x in range(100000000)}'
Traceback (most recent call last):
  File "<string>", line 1, in <module>
  File "<string>", line 1, in <dictcomp>
MemoryError
Command exited with non-zero status 1
    Command being timed: "python -c {x:str(x)*(x**x**x) for x in range(100000000)}"
    User time (seconds): 2.91
    System time (seconds): 0.63
    Percent of CPU this job got: 99%
    Elapsed (wall clock) time (h:mm:ss or m:ss): 0:03.55
    Average shared text size (kbytes): 0
    Average unshared data size (kbytes): 0
    Average stack size (kbytes): 0
    Average total size (kbytes): 0
    Maximum resident set size (kbytes): 3189080
    Average resident set size (kbytes): 0
    Major (requiring I/O) page faults: 0
    Minor (reclaiming a frame) page faults: 796402
    Voluntary context switches: 0
    Involuntary context switches: 357
    Swaps: 0
    File system inputs: 0
    File system outputs: 0
    Socket messages sent: 0
    Socket messages received: 0
    Signals delivered: 0
    Page size (bytes): 4096
    Exit status: 1

Свапа в системе отродясь не было, Firefox открыт, никакие приложения закрыты не были… Ты что хотел сказать-то?

Ответить | Правка | К родителю #42 | Наверх | Cообщить модератору

506. "Linux ядро не может мягко обрабатывать ситуации с нехваткой ..."  +/
Сообщение от анонн (ok), 07-Авг-19, 23:45 
> Я чёт не понял юмора…
>  Maximum resident set size (kbytes): 3189080

У тебя юмор в том, что или есть лимиты:


% ulimit -v 30000
% /usr/bin/time -l  python -c '{x:str(x)*(x**x**x) for x in range(100000000)}'
Traceback (most recent call last):
  File "<string>", line 1, in <module>
  File "<string>", line 1, in <dictcomp>
MemoryError
        0,06 real         0,05 user         0,00 sys
      7664  maximum resident set size
         4  average shared memory size

или оно просто "не шмагло" зарезервировать непрерывный кусок памяти > 3ГБ.

В первом случае профит от лимитов будет только при грамотной организации всего запускаемого барахла (иначе значительная часть ресурсов будет просто простаивать).
Во втором, если свободной памяти было значительно поболее 3ГБ, это как бы вообще индикатор проблемы с менеджментом памяти. Из предоставленной информации не понять.

Можешь попробовать
python -c '{x:str(x)*1024*3 for x in range(1000000000)}'
в качестве заполнялки памяти или написать свою.

> Свапа в системе отродясь не было, Firefox открыт, никакие приложения закрыты не были… Ты что хотел сказать-то?

Ответить | Правка | Наверх | Cообщить модератору

507. "Linux ядро не может мягко обрабатывать ситуации с нехваткой ..."  +/
Сообщение от Annoynymous (ok), 08-Авг-19, 00:01 
Попробовал python -c '{x:str(x)*1024*3 for x in range(1000000000)}'

htop показал 100% загрузку памяти, затем питон всё равно был убит. Никакого зависания не было.

> в качестве заполнялки памяти или написать свою.

Я не писатель, я просто попробовал у себя.

Ответить | Правка | Наверх | Cообщить модератору

Архив | Удалить

Рекомендовать для помещения в FAQ | Индекс форумов | Темы | Пред. тема | След. тема




Партнёры:
PostgresPro
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

Закладки на сайте
Проследить за страницей
Created 1996-2024 by Maxim Chirkov
Добавить, Поддержать, Вебмастеру