簡體   English   中英

如何讓 Jupyter Docker 容器使用更多內存

[英]How to make a Jupyter Docker container use more memory

我正在運行一個jupyter/scipy-notebook Docker 容器。 我沒有使用 run 命令限制分配給容器的內存。

但是,我看到發出docker stats命令是容器將其內存使用限制為 2 GB(16 GB 可用!),即使進行復雜的計算。

這怎么可能?

我在 Mac OS 上運行 Docker,當嘗試讀取超過 600MB 的 CSV 文件時,Jupyter 崩潰了。 按照 Andris Birkmanis 的說明通過增加為 Docker 分配的內存大小幫助解決了這個問題。

從 Docker Desktop - MAC/Windows 更改資源 (RAM) 設置。

MAC - Docker 桌面

Preferences --> Advanced --> Change Ram Settings

Windows - Docker 桌面

Settings --> Resources --> Change the CPU / RAM / SWAP Settings

在此處輸入圖片說明

參考:從@samirko 和@Andris Birkmanis 編譯解決方案。 (添加了 Windows 解決方案)

如果一切順利,默認情況下,docker 根本不應該限制默認內存使用。 因此,您執行docker stats [containerid]MEM USAGE / LIMIT應該與您的總內存(在您的情況下為 16Gb)相同,盡管它不是免費的但可用。

此外,默認情況下無法設置調用dockerd內存限制,

所以,我唯一能做的就是在docker run指定內存限制

  • -m, --memory="" Memory limit (format: <number>[<unit>]). Number is a positive integer. Unit can be one of b, k, m, or g. Minimum is 4M.
  • --memory-swap="" Total memory limit (memory + swap, format: <number>[<unit>]). Number is a positive integer. Unit can be one of b, k, m, or g.
  • --memory-reservation="" Memory soft limit (format: <number>[<unit>]). Number is a positive integer. Unit can be one of b, k, m, or g.
  • --kernel-memory="" Kernel memory limit (format: <number>[<unit>]). Number is a positive integer. Unit can be one of b, k, m, or g. Minimum is 4M.

有關更多信息,請查看Docker 文檔運行時選項

檢查您的docker run --memory-reservation=10g ...讓我們看看。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM