{"id":756,"date":"2023-05-10T13:47:17","date_gmt":"2023-05-10T11:47:17","guid":{"rendered":"https:\/\/blog.adameczek.pl\/?p=756"},"modified":"2024-06-27T10:52:04","modified_gmt":"2024-06-27T08:52:04","slug":"docker-zamula-komputer","status":"publish","type":"post","link":"https:\/\/blog.adameczek.pl\/index.php\/2023\/05\/10\/docker-zamula-komputer\/","title":{"rendered":"Docker zamula komputer!"},"content":{"rendered":"\n<p>Od jakiego\u015b czasu komputer jako\u015b muli, a nie obci\u0105\u017casz go bardziej, ni\u017c zwykle. Zagl\u0105dasz do Mened\u017cera zada\u0144 a tam jaki\u015b <em>Vmmem <\/em>wysysa 8GB pami\u0119ci. Co robi\u0107? Jak \u017cy\u0107? Co to za zwierz ten <em>Vmmem<\/em>?<\/p>\n\n\n\n<p>Przypominasz sobie, \u017ce jako\u015b tak niedawno ustawia\u0142e\u015b Docker Desktop, \u017ceby uruchamia\u0142 si\u0119 przy logowaniu do Windows. Zagl\u0105dasz do niego, a tam zonk \u2013 7GB bez ani jednego dzia\u0142aj\u0105cego kontenera. To w\u0142a\u015bnie tyle, ile zabiera <em>Vmmem<\/em> wed\u0142ug Mened\u017cera zada\u0144.<\/p>\n\n\n\n<figure class=\"wp-block-image size-large is-resized\"><img fetchpriority=\"high\" decoding=\"async\" width=\"1024\" height=\"563\" src=\"https:\/\/blog.adameczek.pl\/wp-content\/uploads\/2023\/05\/docker-desktop-1024x563.png\" alt=\"\" class=\"wp-image-757\" style=\"width:838px;height:460px\" srcset=\"https:\/\/blog.adameczek.pl\/wp-content\/uploads\/2023\/05\/docker-desktop-1024x563.png 1024w, https:\/\/blog.adameczek.pl\/wp-content\/uploads\/2023\/05\/docker-desktop-300x165.png 300w, https:\/\/blog.adameczek.pl\/wp-content\/uploads\/2023\/05\/docker-desktop-768x423.png 768w, https:\/\/blog.adameczek.pl\/wp-content\/uploads\/2023\/05\/docker-desktop.png 1087w\" sizes=\"(max-width: 1024px) 100vw, 1024px\" \/><figcaption class=\"wp-element-caption\">Docker Desktop<\/figcaption><\/figure>\n\n\n\n<p class=\"has-text-align-left\"><strong>Zbieg okoliczno\u015bci?<\/strong><\/p>\n\n\n\n<p>To nie jest przypadkowa korelacja. Ale, jaki jest zwi\u0105zek mi\u0119dzy <em>Vmmem <\/em>a dockerem? Docker Desktop domy\u015blnie uruchamia <em>docker engine<\/em> w WSL2, bo to ma zapewnia\u0107 lepsze osi\u0105gi, ni\u017c silnik uruchomiony bezpo\u015brednio jako proces Hyper-V. O tym m\u00f3wi nam zak\u0142adka <em>Settings | General<\/em>. Zatem linuxowy silnik dockera uruchamiany jest w WSL2, kt\u00f3ry jest uruchamiany\u2026 jako maszyna wirtualna. <em>Vmmem <\/em>to wirtualny proces pokazuj\u0105cy zu\u017cycie zasob\u00f3w przez wszystkie maszyny wirtualne. Bingo! Czyli <em>Vmmem <\/em>pokazuje nam tak\u017ce naszego \u017car\u0142ocznego dockera. Jeste\u015bmy blisko \ud83d\ude42<\/p>\n\n\n\n<p><strong>I co teraz?<\/strong><\/p>\n\n\n\n<p>Teraz wystarczy nak\u0142oni\u0107 WSL, by zmitygowa\u0142 swoj\u0105 pami\u0119cio\u017cerno\u015b\u0107. Jak on dostanie mniej, to i docker dostanie mniej. Logika by wskazywa\u0142a, \u017ceby ograniczy\u0107 samego dockera, ale nie znalaz\u0142em odpowiednich ustawie\u0144. Pozostaje WSL. Wszystko to opisa\u0142 Microsoft <a href=\"https:\/\/learn.microsoft.com\/en-us\/windows\/wsl\/wsl-config#configure-global-options-with-wslconfig\">tutaj<\/a>. Ja podam tylko kilka dodatkowych uwag.<\/p>\n\n\n\n<p>W trzech komputerach z W10 nie znalaz\u0142em pliku konfiguracyjnego <em>.wslconfig<\/em>, kt\u00f3ry m\u00f3g\u0142bym podda\u0107 edycji. Trzeba go utworzy\u0107 samodzielnie w folderze <em>C:\\Users\\uzytkownik<\/em>. M\u00f3j plik wygl\u0105da tak:<\/p>\n\n\n\n<div class=\"hcb_wrap\"><pre class=\"prism off-numbers lang-plain\" data-file=\".wslconfig\"><code># Settings apply across all Linux distros running on WSL 2\n[wsl2]\n\n# Limits VM memory. This can be set as whole numbers using GB or MB\nmemory=4GB\n\n# Sets the VM to use two virtual processors\nprocessors=2\n\n# Sets swapfile path location, default is %USERPROFILE%\\AppData\\Local\\Temp\\swap.vhdx\n#swapfile=X:\\\\temp\\\\wsl-swap.vhdx\n\n# Sets amount of swap storage space to 8GB, default is 25% of available RAM\nswap=8GB\n\n# Sets to turn on or off support for GUI applications in WSL. Only available for Windows 11.\nguiApplications=false<\/code><\/pre><\/div>\n\n\n\n<p>Ostatnia linia jest nieco na wyrost, bo nie korzystam z W11. \u017beby zmiany odnios\u0142y skutek, nale\u017cy zamn\u0105\u0107 <strong>wszystkie <\/strong>maszyny wirtualne. Na pocz\u0105tek sprawd\u017a, jakie dzia\u0142aj\u0105. Mo\u017cesz u\u017cy\u0107 polecenia <code>wsl -l -v<\/code>. Potem zamknij w kontrolowany spos\u00f3b te, kt\u00f3re zidentyfikujesz (np. zamykaj\u0105c Docker Desktop zamkniesz te zwi\u0105zane z konteneryzacj\u0105). A je\u015bli na koniec zostan\u0105 jakie\u015b jeszcze, to pomo\u017ce <code>wsl --shutdown<\/code>. Na koniec uruchom Docker Desktop, a przekonasz si\u0119, \u017ce zaj\u0119to\u015b\u0107 RAM spad\u0142a poni\u017cej 3GB.<\/p>\n\n\n\n<p>Je\u015bli kto\u015b ma wymagaj\u0105ce szybko\u015bci kontenery, to swap file mo\u017cna umie\u015bci\u0107 na jakim\u015b szybkim dysku (np. tanim jak barszcz 16GB Intel Optane M10). Na powy\u017cszym listingu ta opcja jest zakomentowana. Pami\u0119taj, \u017ce folder <em>\\temp\\<\/em> musisz utworzy\u0107 samodzielnie. Teraz wystarczy poobserwowa\u0107, jak sprawuj\u0105 si\u0119 nasze kontenery ze zmniejszon\u0105 pami\u0119ci\u0105 i w razie potrzeby dokona\u0107 korekty. Z mojego do\u015bwiadczenia wynika, \u017ce do\u015b\u0107 wymagaj\u0105cy MS SQL Server z niewielkimi bazami nie ma problemu z 4GB, a zaczyna protestowa\u0107 (ostrze\u017cenie w logach) poni\u017cej 2GB.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Od jakiego\u015b czasu komputer jako\u015b muli, a nie obci\u0105\u017casz go bardziej, ni\u017c zwykle. Zagl\u0105dasz do Mened\u017cera zada\u0144 a tam jaki\u015b Vmmem wysysa 8GB pami\u0119ci. Co robi\u0107? Jak \u017cy\u0107? Co to za zwierz ten Vmmem? Przypominasz sobie, \u017ce jako\u015b tak niedawno ustawia\u0142e\u015b Docker Desktop, \u017ceby uruchamia\u0142 si\u0119 przy logowaniu do Windows. Zagl\u0105dasz do niego, a tam [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":820,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"ocean_post_layout":"","ocean_both_sidebars_style":"","ocean_both_sidebars_content_width":0,"ocean_both_sidebars_sidebars_width":0,"ocean_sidebar":"0","ocean_second_sidebar":"0","ocean_disable_margins":"enable","ocean_add_body_class":"","ocean_shortcode_before_top_bar":"","ocean_shortcode_after_top_bar":"","ocean_shortcode_before_header":"","ocean_shortcode_after_header":"","ocean_has_shortcode":"","ocean_shortcode_after_title":"","ocean_shortcode_before_footer_widgets":"","ocean_shortcode_after_footer_widgets":"","ocean_shortcode_before_footer_bottom":"","ocean_shortcode_after_footer_bottom":"","ocean_display_top_bar":"default","ocean_display_header":"default","ocean_header_style":"","ocean_center_header_left_menu":"0","ocean_custom_header_template":"0","ocean_custom_logo":0,"ocean_custom_retina_logo":0,"ocean_custom_logo_max_width":0,"ocean_custom_logo_tablet_max_width":0,"ocean_custom_logo_mobile_max_width":0,"ocean_custom_logo_max_height":0,"ocean_custom_logo_tablet_max_height":0,"ocean_custom_logo_mobile_max_height":0,"ocean_header_custom_menu":"0","ocean_menu_typo_font_family":"0","ocean_menu_typo_font_subset":"","ocean_menu_typo_font_size":0,"ocean_menu_typo_font_size_tablet":0,"ocean_menu_typo_font_size_mobile":0,"ocean_menu_typo_font_size_unit":"px","ocean_menu_typo_font_weight":"","ocean_menu_typo_font_weight_tablet":"","ocean_menu_typo_font_weight_mobile":"","ocean_menu_typo_transform":"","ocean_menu_typo_transform_tablet":"","ocean_menu_typo_transform_mobile":"","ocean_menu_typo_line_height":0,"ocean_menu_typo_line_height_tablet":0,"ocean_menu_typo_line_height_mobile":0,"ocean_menu_typo_line_height_unit":"","ocean_menu_typo_spacing":0,"ocean_menu_typo_spacing_tablet":0,"ocean_menu_typo_spacing_mobile":0,"ocean_menu_typo_spacing_unit":"","ocean_menu_link_color":"","ocean_menu_link_color_hover":"","ocean_menu_link_color_active":"","ocean_menu_link_background":"","ocean_menu_link_hover_background":"","ocean_menu_link_active_background":"","ocean_menu_social_links_bg":"","ocean_menu_social_hover_links_bg":"","ocean_menu_social_links_color":"","ocean_menu_social_hover_links_color":"","ocean_disable_title":"default","ocean_disable_heading":"default","ocean_post_title":"","ocean_post_subheading":"","ocean_post_title_style":"","ocean_post_title_background_color":"","ocean_post_title_background":0,"ocean_post_title_bg_image_position":"","ocean_post_title_bg_image_attachment":"","ocean_post_title_bg_image_repeat":"","ocean_post_title_bg_image_size":"","ocean_post_title_height":0,"ocean_post_title_bg_overlay":0.5,"ocean_post_title_bg_overlay_color":"","ocean_disable_breadcrumbs":"default","ocean_breadcrumbs_color":"","ocean_breadcrumbs_separator_color":"","ocean_breadcrumbs_links_color":"","ocean_breadcrumbs_links_hover_color":"","ocean_display_footer_widgets":"default","ocean_display_footer_bottom":"default","ocean_custom_footer_template":"0","_jetpack_memberships_contains_paid_content":false,"ocean_post_oembed":"","ocean_post_self_hosted_media":"","ocean_post_video_embed":"","ocean_link_format":"","ocean_link_format_target":"self","ocean_quote_format":"","ocean_quote_format_link":"post","ocean_gallery_link_images":"off","ocean_gallery_id":[],"footnotes":""},"categories":[22],"tags":[23],"class_list":["post-756","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-devops","tag-docker","entry","has-media"],"jetpack_featured_media_url":"https:\/\/blog.adameczek.pl\/wp-content\/uploads\/2024\/05\/docker-logo-small.png","jetpack_sharing_enabled":true,"_links":{"self":[{"href":"https:\/\/blog.adameczek.pl\/index.php\/wp-json\/wp\/v2\/posts\/756","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/blog.adameczek.pl\/index.php\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/blog.adameczek.pl\/index.php\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/blog.adameczek.pl\/index.php\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/blog.adameczek.pl\/index.php\/wp-json\/wp\/v2\/comments?post=756"}],"version-history":[{"count":14,"href":"https:\/\/blog.adameczek.pl\/index.php\/wp-json\/wp\/v2\/posts\/756\/revisions"}],"predecessor-version":[{"id":1010,"href":"https:\/\/blog.adameczek.pl\/index.php\/wp-json\/wp\/v2\/posts\/756\/revisions\/1010"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/blog.adameczek.pl\/index.php\/wp-json\/wp\/v2\/media\/820"}],"wp:attachment":[{"href":"https:\/\/blog.adameczek.pl\/index.php\/wp-json\/wp\/v2\/media?parent=756"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/blog.adameczek.pl\/index.php\/wp-json\/wp\/v2\/categories?post=756"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/blog.adameczek.pl\/index.php\/wp-json\/wp\/v2\/tags?post=756"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}