{"id":388,"date":"2026-08-30T09:32:28","date_gmt":"2026-08-30T09:32:28","guid":{"rendered":"https:\/\/www.vps.tc\/blog\/?p=388"},"modified":"2026-08-30T09:31:02","modified_gmt":"2026-08-30T09:31:02","slug":"vpste-swap-alani-olusturma-linux-bellek-yonetimi","status":"publish","type":"post","link":"https:\/\/www.vps.tc\/blog\/tr\/vpste-swap-alani-olusturma-linux-bellek-yonetimi\/","title":{"rendered":"VPS&#8217;te Swap Alan\u0131 Olu\u015fturma ve Linux Bellek Y\u00f6netimi"},"content":{"rendered":"<div class=\"aiw-toc\" style=\"border:1px solid #dbe3ea;border-radius:8px;padding:16px 20px;margin:0 0 28px\"><strong>\u0130\u00e7indekiler<\/strong><\/p>\n<ol style=\"margin:10px 0 0;padding-left:22px\">\n<li><a href=\"#vpste-swap-alani-olusturma-ve-linux-bellek-yonetimi\">VPS&#039;te Swap Alan\u0131 Olu\u015fturma ve Linux Bellek Y\u00f6netimi<\/a><\/li>\n<li><a href=\"#linux-bellegi-yalnizca-ramden-olusmuyor\">Linux belle\u011fi yaln\u0131zca RAM&#039;den olu\u015fmuyor<\/a><\/li>\n<li><a href=\"#komut-calistirmadan-once-tabloyu-gorun\">Komut \u00e7al\u0131\u015ft\u0131rmadan \u00f6nce tabloyu g\u00f6r\u00fcn<\/a><\/li>\n<li><a href=\"#ubuntu-ve-debianda-swap-dosyasi-olusturma\">Ubuntu ve Debian&#039;da swap dosyas\u0131 olu\u015fturma<\/a><\/li>\n<li><a href=\"#swap-boyutunda-sihirli-sayi-aramayin\">Swap boyutunda sihirli say\u0131 aramay\u0131n<\/a><\/li>\n<li><a href=\"#linuxun-swap-kullanma-egilimini-ayarlamak\">Linux&#039;un swap kullanma e\u011filimini ayarlamak<\/a><\/li>\n<li><a href=\"#yogun-swap-kullaniminin-izini-surmek\">Yo\u011fun swap kullan\u0131m\u0131n\u0131n izini s\u00fcrmek<\/a><\/li>\n<li><a href=\"#swap-alanini-kaldirmak-veya-yeniden-boyutlandirmak\">Swap alan\u0131n\u0131 kald\u0131rmak veya yeniden boyutland\u0131rmak<\/a><\/li>\n<li><a href=\"#vps-ortaminda-dikkat-edilmesi-gereken-noktalar\">VPS ortam\u0131nda dikkat edilmesi gereken noktalar<\/a><\/li>\n<li><a href=\"#zram-ne-zaman-daha-mantikli-olabilir\">ZRAM ne zaman daha mant\u0131kl\u0131 olabilir?<\/a><\/li>\n<li><a href=\"#kurulumdan-sonra-baktigim-noktalar\">Kurulumdan sonra bakt\u0131\u011f\u0131m noktalar<\/a><\/li>\n<li><a href=\"#sik-sorulan-sorular\">S\u0131k Sorulan Sorular<\/a><\/li>\n<\/ol>\n<\/div>\n<h2 id=\"vpste-swap-alani-olusturma-ve-linux-bellek-yonetimi\">VPS&#8217;te Swap Alan\u0131 Olu\u015fturma ve Linux Bellek Y\u00f6netimi<\/h2>\n<p>Bir VPS&#8217;in yava\u015flad\u0131\u011f\u0131 gece ilk bakt\u0131\u011f\u0131m yer \u00e7o\u011fu zaman i\u015flemci de\u011fildir. <code>top<\/code> a\u00e7ar\u0131m, birka\u00e7 s\u00fcrecin durumunu kontrol ederim, ard\u0131ndan bellek tablosuna ge\u00e7erim. CPU neredeyse bo\u015fta g\u00f6r\u00fcn\u00fcrken uygulamalar cevap vermiyorsa RAM bask\u0131s\u0131 ihtimalini g\u00f6zden ka\u00e7\u0131rmamak gerekir. Servisi hemen yeniden ba\u015flatmak, bazen yaln\u0131zca alarm\u0131 susturur.<\/p>\n<p>Swap burada devreye girer. RAM&#8217;de yer kalmad\u0131\u011f\u0131nda Linux, baz\u0131 bellek sayfalar\u0131n\u0131 diskteki \u00f6zel bir alana ta\u015f\u0131yabilir. Bu alan RAM kadar h\u0131zl\u0131 de\u011fildir. Amac\u0131 RAM&#8217;in yerine ge\u00e7mek de\u011fil, k\u0131sa s\u00fcreli bellek bask\u0131s\u0131nda sistemi do\u011frudan OOM katiline b\u0131rakmamakt\u0131r.<\/p>\n<p>VPS&#8217;te swap alan\u0131 olu\u015fturmak birka\u00e7 komutla biter. G\u00fcvenli bir kurulum i\u00e7in dosya izinlerini, kal\u0131c\u0131 ba\u011flama kayd\u0131n\u0131, mevcut swap alanlar\u0131n\u0131 ve sa\u011flay\u0131c\u0131n\u0131n politikalar\u0131n\u0131 da kontrol ederim. Benim s\u0131k g\u00f6rd\u00fc\u011f\u00fcm hata, swap dosyas\u0131n\u0131 olu\u015fturup <code>\/etc\/fstab<\/code> kayd\u0131n\u0131 atlamak. Sunucu yeniden ba\u015flad\u0131\u011f\u0131nda dosya orada durur, fakat etkin de\u011fildir.<\/p>\n<h2 id=\"linux-bellegi-yalnizca-ramden-olusmuyor\">Linux belle\u011fi yaln\u0131zca RAM&#8217;den olu\u015fmuyor<\/h2>\n<p>Linux belle\u011fini kabaca anonim bellek, dosya \u00f6nbelle\u011fi ve \u00e7ekirdek taraf\u0131ndan kullan\u0131lan alanlar \u015feklinde d\u00fc\u015f\u00fcnebilirsiniz. PHP-FPM s\u00fcrecinin ay\u0131rd\u0131\u011f\u0131 bellek anonim sayfalarda tutulurken diskten okunan dosyalar page cache i\u00e7inde \u00f6nbelle\u011fe al\u0131nabilir. Bu nedenle <code>free<\/code> \u00e7\u0131kt\u0131s\u0131ndaki <code>buff\/cache<\/code> de\u011ferini do\u011frudan bo\u015fa harcanm\u0131\u015f bellek saymak yan\u0131lt\u0131c\u0131d\u0131r.<\/p>\n<pre><code>free -h<\/code><\/pre>\n<p>\u00d6rnek bir \u00e7\u0131kt\u0131 \u015f\u00f6yle g\u00f6r\u00fcnebilir:<\/p>\n<pre><code>               total        used        free      shared  buff\/cache   available\nMem:           3.8Gi       2.1Gi       180Mi       120Mi       1.5Gi       1.3Gi\nSwap:          1.0Gi       128Mi       896Mi<\/code><\/pre>\n<p>Ben \u00f6zellikle <code>available<\/code> s\u00fctununa bakar\u0131m. <code>free<\/code> d\u00fc\u015f\u00fck g\u00f6r\u00fcnse bile kullan\u0131labilir bellek y\u00fcksek olabilir; Linux ihtiya\u00e7 duydu\u011funda dosya \u00f6nbelle\u011finin bir b\u00f6l\u00fcm\u00fcn\u00fc b\u0131rak\u0131r. Swap sat\u0131r\u0131nda kullan\u0131m g\u00f6r\u00fclmesi de tek ba\u015f\u0131na kriz de\u011fildir. As\u0131l soru, sistemin s\u00fcrekli ve yo\u011fun bi\u00e7imde swap okuyup yaz\u0131p yazmad\u0131\u011f\u0131d\u0131r.<\/p>\n<p>Bellek bask\u0131s\u0131 artt\u0131\u011f\u0131nda \u00e7ekirdek \u00f6nce kolayca yeniden olu\u015fturulabilecek \u00f6nbellekleri b\u0131rak\u0131r. Yetmezse anonim sayfalar\u0131 swap alan\u0131na ta\u015f\u0131yabilir. Hi\u00e7bir i\u015flem kurtar\u0131lam\u0131yorsa OOM killer devreye girer ve belle\u011fi t\u00fcketen s\u00fcre\u00e7lerden birini sonland\u0131r\u0131r. \u00dcretimde \u00f6ld\u00fcr\u00fclen s\u00fcrecin veritaban\u0131 veya web sunucusu olmas\u0131n\u0131 istemezsiniz.<\/p>\n<h3>Swap neyi \u00e7\u00f6zer, neyi \u00e7\u00f6zmez?<\/h3>\n<p>Swap, d\u00fc\u015f\u00fck RAM&#8217;li bir VPS&#8217;te ani bellek s\u0131\u00e7ramalar\u0131n\u0131 kar\u015f\u0131layan bir emniyet supab\u0131 olabilir. Yedekleme s\u0131ras\u0131nda s\u0131k\u0131\u015ft\u0131rma i\u015fleminin k\u0131sa s\u00fcreli olarak daha fazla bellek istemesi buna \u00f6rnek. Swap s\u00fcreci ayakta tutabilir.<\/p>\n<p>Disk RAM&#8217;den \u00e7ok daha yava\u015ft\u0131r. Sistem s\u00fcrekli swap kullan\u0131yorsa uygulama gecikmeleri artar, disk I\/O beklemeleri y\u00fckselir ve VPS&#8217;in tamam\u0131 a\u011f\u0131rla\u015f\u0131r. B\u00f6yle bir durumda daha b\u00fcy\u00fck swap eklemek kal\u0131c\u0131 \u00e7\u00f6z\u00fcm de\u011fildir. \u00d6nce bellek t\u00fcketen s\u00fcreci bulur, gereksiz servisleri kapat\u0131r veya VPS plan\u0131n\u0131 b\u00fcy\u00fct\u00fcr\u00fcm.<\/p>\n<table>\n<thead>\n<tr>\n<th>G\u00f6zlem<\/th>\n<th>Muhtemel anlam<\/th>\n<th>\u0130lk kontrol<\/th>\n<\/tr>\n<\/thead>\n<tbody>\n<tr>\n<td>Swap kullan\u0131m\u0131 var, available y\u00fcksek<\/td>\n<td>Uzun s\u00fcredir dokunulmayan sayfalar diske ta\u015f\u0131nm\u0131\u015f olabilir<\/td>\n<td><code>free -h<\/code> ve zaman i\u00e7indeki de\u011fi\u015fim<\/td>\n<\/tr>\n<tr>\n<td>Swap s\u00fcrekli art\u0131yor<\/td>\n<td>RAM bask\u0131s\u0131 veya bellek s\u0131z\u0131nt\u0131s\u0131 olabilir<\/td>\n<td><code>vmstat 1<\/code>, s\u00fcre\u00e7lerin RSS de\u011ferleri<\/td>\n<\/tr>\n<tr>\n<td>RAM ve swap dolu<\/td>\n<td>OOM riski \u00e7ok y\u00fcksek<\/td>\n<td>Journal kay\u0131tlar\u0131 ve servis limitleri<\/td>\n<\/tr>\n<tr>\n<td>Swap I\/O \u00e7ok yo\u011fun<\/td>\n<td>Sistem RAM yerine diski kullan\u0131yor<\/td>\n<td><code>iostat<\/code> ve uygulama loglar\u0131<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<h2 id=\"komut-calistirmadan-once-tabloyu-gorun\">Komut \u00e7al\u0131\u015ft\u0131rmadan \u00f6nce tabloyu g\u00f6r\u00fcn<\/h2>\n<p>Komutlar\u0131 root olarak \u00e7al\u0131\u015ft\u0131rabilirsiniz. Ben yine de m\u00fcmk\u00fcn oldu\u011funca <code>sudo<\/code> kullan\u0131yorum; yanl\u0131\u015f terminalde yap\u0131lan i\u015flemler i\u00e7in sihirli bir koruma sa\u011flamaz ama niyeti g\u00f6r\u00fcn\u00fcr k\u0131lar. Production shell&#8217;lerimdeki k\u0131rm\u0131z\u0131 prompt da ayn\u0131 al\u0131\u015fkanl\u0131\u011f\u0131n devam\u0131.<\/p>\n<pre><code>hostnamectl --static\nfree -h\nswapon --show\ncat \/proc\/swaps\nlsblk -f<\/code><\/pre>\n<p><code>swapon --show<\/code> bo\u015f d\u00f6n\u00fcyorsa sistemde etkin swap olmayabilir. Baz\u0131 sa\u011flay\u0131c\u0131lar VPS&#8217;i haz\u0131r swap alan\u0131yla sunar, baz\u0131lar\u0131 sanalla\u015ft\u0131rma katman\u0131nda swap kullan\u0131m\u0131n\u0131 s\u0131n\u0131rlar. Sa\u011flay\u0131c\u0131n\u0131z\u0131n dok\u00fcmantasyonunu kontrol edin. Ayn\u0131 alan\u0131 ikinci kez etkinle\u015ftirmeye \u00e7al\u0131\u015fmak gereksizdir.<\/p>\n<p>Diskteki bo\u015f alan\u0131 da \u00f6l\u00e7\u00fcn:<\/p>\n<pre><code>df -h \/\nfindmnt -no FSTYPE,OPTIONS \/<\/code><\/pre>\n<p>Swap dosyas\u0131n\u0131 k\u00f6k dosya sistemine koyacaksan\u0131z yeterli bo\u015f alan bulunmal\u0131. Dosya sistemi de \u00f6nemlidir. Modern Linux kurulumlar\u0131nda ext4 ve XFS \u00fczerinde swap dosyas\u0131 genellikle sorunsuz \u00e7al\u0131\u015f\u0131r. Btrfs kullan\u0131yorsan\u0131z swapfile i\u00e7in \u00f6zel ko\u015fullar vard\u0131r; copy-on-write davran\u0131\u015f\u0131n\u0131n kapat\u0131lmas\u0131 ve dosya d\u00fczeninin uygun olmas\u0131 gerekir. Btrfs \u00fczerinde genel bir tarifi d\u00fc\u015f\u00fcnmeden uygulamam.<\/p>\n<h2 id=\"ubuntu-ve-debianda-swap-dosyasi-olusturma\">Ubuntu ve Debian&#8217;da swap dosyas\u0131 olu\u015fturma<\/h2>\n<p>A\u015fa\u011f\u0131daki \u00f6rnekte 2 GiB b\u00fcy\u00fckl\u00fc\u011f\u00fcnde <code>\/swapfile<\/code> olu\u015fturuyorum. \u0130htiyac\u0131n\u0131z farkl\u0131 olabilir. 512 MiB RAM&#8217;li her VPS&#8217;e otomatik olarak 4 GiB swap eklemek do\u011fru bir kural de\u011fil; \u00e7al\u0131\u015fan servislerin ger\u00e7ek t\u00fcketimini \u00f6l\u00e7mek daha sa\u011fl\u0131kl\u0131.<\/p>\n<h3>Dosyay\u0131 ay\u0131r\u0131n<\/h3>\n<pre><code>sudo fallocate -l 2G \/swapfile\nls -lh \/swapfile<\/code><\/pre>\n<p><code>fallocate<\/code> h\u0131zl\u0131d\u0131r ve dosyay\u0131 istenen boyutta ay\u0131r\u0131r. Baz\u0131 dosya sistemlerinde veya eski ortamlarda beklenmedik sonu\u00e7 al\u0131rsan\u0131z <code>dd<\/code> kullan\u0131labilir:<\/p>\n<pre><code>sudo dd if=\/dev\/zero of=\/swapfile bs=1M count=2048 status=progress<\/code><\/pre>\n<p>Bu sat\u0131r daha yava\u015f olabilir; dosyaya s\u0131f\u0131rlar\u0131 ger\u00e7ekten yazar. <code>count=2048<\/code> ve <code>bs=1M<\/code> yakla\u015f\u0131k 2 GiB alan \u00fcretir. Hedef yolu iki kez kontrol edin. <code>of=<\/code> de\u011ferindeki bir yaz\u0131m hatas\u0131 pahal\u0131ya mal olabilir.<\/p>\n<h3>Dosya izinlerini daralt\u0131n<\/h3>\n<pre><code>sudo chmod 600 \/swapfile\nls -l \/swapfile<\/code><\/pre>\n<p>Beklenen izinler yakla\u015f\u0131k olarak <code>-rw-------<\/code> bi\u00e7imindedir. Swap i\u00e7eri\u011fi, s\u00fcre\u00e7lerin RAM&#8217;den ta\u015f\u0131nm\u0131\u015f par\u00e7alar\u0131n\u0131 bar\u0131nd\u0131rabilir. Herkesin okuyabildi\u011fi bir swap dosyas\u0131 b\u0131rakmak do\u011fru de\u011fildir. <code>chmod 777<\/code> ile izin sorunlar\u0131n\u0131 \u00e7\u00f6zmeye \u00e7al\u0131\u015fmak burada da i\u015fe yaramaz; yaln\u0131zca g\u00fcvenlik a\u00e7\u0131\u011f\u0131n\u0131 b\u00fcy\u00fct\u00fcr.<\/p>\n<h3>Swap olarak bi\u00e7imlendirin ve etkinle\u015ftirin<\/h3>\n<pre><code>sudo mkswap \/swapfile\nsudo swapon \/swapfile\nsudo swapon --show\nfree -h<\/code><\/pre>\n<p><code>mkswap<\/code> dosyaya swap imzas\u0131 yazar, <code>swapon<\/code> ise onu \u00e7ekirde\u011fin kullanabilece\u011fi hale getirir. <code>swapon --show<\/code> \u00e7\u0131kt\u0131s\u0131nda <code>\/swapfile<\/code> g\u00f6r\u00fcn\u00fcyorsa etkinle\u015ftirme tamamlanm\u0131\u015ft\u0131r.<\/p>\n<p><code>swapon: \/swapfile: insecure permissions<\/code> benzeri bir uyar\u0131 g\u00f6r\u00fcrseniz \u00f6nce <code>chmod 600<\/code> uygulay\u0131n. <code>Operation not permitted<\/code> hatas\u0131 sanalla\u015ft\u0131rma sa\u011flay\u0131c\u0131s\u0131n\u0131n swap kullan\u0131m\u0131n\u0131 engelledi\u011fine i\u015faret edebilir. B\u00f6yle bir durumda rastgele komut denemek yerine VPS t\u00fcr\u00fcne ve destek belgelerine bak\u0131n.<\/p>\n<h3>Yeniden ba\u015flatma sonras\u0131nda da etkin kals\u0131n<\/h3>\n<p>\u015eimdi <code>\/etc\/fstab<\/code> dosyas\u0131na tek sat\u0131r ekleyin:<\/p>\n<pre><code>echo '\/swapfile none swap sw 0 0' | sudo tee -a \/etc\/fstab<\/code><\/pre>\n<p>Ben dosyan\u0131n sonuna eklemeden \u00f6nce mevcut swap kay\u0131tlar\u0131n\u0131 kontrol ederim:<\/p>\n<pre><code>grep -nE '[[:space:]]swap[[:space:]]' \/etc\/fstab\nsudo systemctl daemon-reload\nsudo swapoff \/swapfile\nsudo swapon -a\nsudo swapon --show<\/code><\/pre>\n<p>Son \u00fc\u00e7 komut, <code>fstab<\/code> kayd\u0131n\u0131n okunabildi\u011fini yeniden ba\u015flatmadan s\u0131nar. <code>swapoff<\/code> s\u0131ras\u0131nda yeterli RAM yoksa i\u015flem ba\u015far\u0131s\u0131z olabilir; \u00e7al\u0131\u015fan bir sunucuda swap&#8217;\u0131 kapatmadan \u00f6nce <code>free -h<\/code> \u00e7\u0131kt\u0131s\u0131n\u0131 kontrol edin. Zorlamak sistemi daha k\u00f6t\u00fc duruma sokabilir.<\/p>\n<h2 id=\"swap-boyutunda-sihirli-sayi-aramayin\">Swap boyutunda sihirli say\u0131 aramay\u0131n<\/h2>\n<p>RAM miktar\u0131na g\u00f6re haz\u0131rlanm\u0131\u015f otomatik swap tablolar\u0131 internette s\u0131k g\u00f6r\u00fcl\u00fcyor. Bunlar ba\u015flang\u0131\u00e7 noktas\u0131 olabilir, karar mekanizmas\u0131 de\u011fil. Web sunucusu, veritaban\u0131, Docker konteynerleri ve derleme i\u015fleri farkl\u0131 bellek davran\u0131\u015flar\u0131na sahiptir.<\/p>\n<p>Bir VPS i\u00e7in boyutu belirlerken \u00fc\u00e7 \u015feye bakar\u0131m: yo\u011fun saatlerdeki <code>available<\/code> bellek, s\u00fcre\u00e7lerin tepe t\u00fcketimi ve disk kapasitesi. Birka\u00e7 y\u00fcz megabaytl\u0131k ani art\u0131\u015f\u0131 kar\u015f\u0131lamak i\u00e7in 1 veya 2 GiB swap yeterli olabilir. B\u00fcy\u00fck veritabanlar\u0131n\u0131 swap&#8217;a g\u00fcvenerek \u00e7al\u0131\u015ft\u0131rmak ise performans sorununu ertelemektir.<\/p>\n<p>\u00d6rne\u011fin 2 GiB RAM&#8217;li, yaln\u0131zca Nginx ve k\u00fc\u00e7\u00fck bir uygulama \u00e7al\u0131\u015fan VPS&#8217;te 1 GiB swap makul bir emniyet pay\u0131 olabilir. Ayn\u0131 makinede Elasticsearch, MariaDB ve birka\u00e7 konteyner \u00e7al\u0131\u015f\u0131yorsa \u00f6nce servislerin bellek s\u0131n\u0131rlar\u0131n\u0131 d\u00fczenlerim. Yeni VPS kurulumlar\u0131nda temel ad\u0131mlar\u0131 kontrol etmek i\u00e7in <strong><a href=\"https:\/\/www.vps.tc\/blog\/tr\/yeni-vps-sunucuyu-30-dakikada-canliya-alma-rehberi\/\">Yeni VPS Sunucuyu 30 Dakikada Canliya Alma Rehberi<\/a><\/strong> i\u00e7indeki servis ve g\u00fcvenlik s\u0131ras\u0131na da bakabilirsiniz.<\/p>\n<h2 id=\"linuxun-swap-kullanma-egilimini-ayarlamak\">Linux&#8217;un swap kullanma e\u011filimini ayarlamak<\/h2>\n<p>Linux \u00e7ekirde\u011fi swap&#8217;a ne kadar istekli davranaca\u011f\u0131n\u0131 <code>vm.swappiness<\/code> de\u011feriyle etkiler. De\u011fer 0 ile 200 aras\u0131nda olabilir; yorum ayr\u0131nt\u0131lar\u0131 da\u011f\u0131t\u0131m ve \u00e7ekirdek davran\u0131\u015f\u0131na g\u00f6re de\u011fi\u015fse de d\u00fc\u015f\u00fck de\u011fer, anonim belle\u011fi swap&#8217;a ta\u015f\u0131mada daha temkinli bir yakla\u015f\u0131m anlam\u0131na gelir.<\/p>\n<pre><code>cat \/proc\/sys\/vm\/swappiness<\/code><\/pre>\n<p>Ge\u00e7ici olarak 10 de\u011ferini denemek isterseniz:<\/p>\n<pre><code>sudo sysctl vm.swappiness=10<\/code><\/pre>\n<p>Kal\u0131c\u0131 ayar i\u00e7in ayr\u0131 bir dosya kullanmak daha d\u00fczenlidir:<\/p>\n<pre><code>echo 'vm.swappiness=10' | sudo tee \/etc\/sysctl.d\/99-memory.conf\nsudo sysctl --system<\/code><\/pre>\n<p>Bu de\u011feri 0&#8217;a \u00e7ekmek \u00e7o\u011fu zaman iyi fikir de\u011fildir. Swap hi\u00e7 kullan\u0131lmas\u0131n iste\u011fi anla\u015f\u0131l\u0131r, fakat RAM tamamen doldu\u011funda sistemin manevra alan\u0131n\u0131 daraltabilirsiniz. Ben d\u00fc\u015f\u00fck RAM&#8217;li uygulama VPS&#8217;lerinde 10 veya 20 ile ba\u015flar, monitoring verisine bakmadan daha ileri ayar yapmam.<\/p>\n<p>Swap g\u00f6rd\u00fc\u011f\u00fcn\u00fcz anda swappiness&#8217;i de\u011fi\u015ftirmek de aceleciliktir. Saatlerdir dokunulmayan bir sayfan\u0131n swap&#8217;a ta\u015f\u0131nmas\u0131 RAM&#8217;i dosya \u00f6nbelle\u011fi i\u00e7in serbest b\u0131rakabilir. Uygulama yan\u0131t s\u00fcreleri normal, swap I\/O d\u00fc\u015f\u00fck ve available bellek sa\u011flamsa bu davran\u0131\u015f tek ba\u015f\u0131na hata de\u011fildir.<\/p>\n<h2 id=\"yogun-swap-kullaniminin-izini-surmek\">Yo\u011fun swap kullan\u0131m\u0131n\u0131n izini s\u00fcrmek<\/h2>\n<p>Bir makinenin ger\u00e7ekten swap y\u00fcz\u00fcnden zorlan\u0131p zorlanmad\u0131\u011f\u0131n\u0131 anl\u0131k <code>free<\/code> \u00e7\u0131kt\u0131s\u0131ndan anlamak zordur. <code>vmstat<\/code> ile bir saniyelik aral\u0131klarla izlemek daha anlaml\u0131d\u0131r:<\/p>\n<pre><code>vmstat 1<\/code><\/pre>\n<p>\u00c7\u0131kt\u0131daki <code>si<\/code> swap-in, <code>so<\/code> ise swap-out h\u0131z\u0131n\u0131 g\u00f6sterir. Bu iki s\u00fctun uzun s\u00fcre d\u00fczenli bi\u00e7imde y\u00fcksekse bellek bask\u0131s\u0131 vard\u0131r. K\u0131sa bir de\u011fer g\u00f6r\u00fcp pani\u011fe kap\u0131lmay\u0131n; s\u00fcreklilik ve uygulama gecikmeleri daha de\u011ferlidir.<\/p>\n<p>Hangi s\u00fcre\u00e7lerin belle\u011fi t\u00fcketti\u011fini g\u00f6rmek i\u00e7in:<\/p>\n<pre><code>ps -eo pid,user,comm,%mem,rss --sort=-rss | head -n 15\nsystemd-cgtop<\/code><\/pre>\n<p><code>rss<\/code>, s\u00fcrecin RAM&#8217;de tuttu\u011fu fiziksel bellek miktar\u0131n\u0131 yakla\u015f\u0131k olarak g\u00f6sterir ve kilobayt cinsindendir. Payla\u015f\u0131lan k\u00fct\u00fcphaneler nedeniyle s\u00fcre\u00e7 de\u011ferlerini basit\u00e7e toplamak toplam RAM kullan\u0131m\u0131n\u0131 birebir vermez. Yine de listenin tepesinde hangi servisin durdu\u011funu anlamak i\u00e7in i\u015fe yarar.<\/p>\n<p>Docker kullan\u0131yorsan\u0131z konteynerlerin bellek s\u0131n\u0131rlar\u0131n\u0131 da kontrol edin:<\/p>\n<pre><code>docker stats --no-stream<\/code><\/pre>\n<p>Bir konteyner i\u00e7in bellek limiti belirlemek, uygulaman\u0131n kontrols\u00fcz b\u00fcy\u00fcmesini engelleyebilir. Limiti rastgele d\u00fc\u015f\u00fck vermek ise konteyneri OOM durumuna sokar. \u00d6nce normal ve yo\u011fun \u00e7al\u0131\u015fma profillerini \u00f6l\u00e7\u00fcn.<\/p>\n<p>Ge\u00e7en ay bir m\u00fc\u015fteri VPS&#8217;inde uygulama yan\u0131t s\u00fcreleri artm\u0131\u015f, fakat <code>free -h<\/code> \u00e7\u0131kt\u0131s\u0131nda bo\u015f bellek h\u00e2l\u00e2 g\u00f6r\u00fcn\u00fcyordu. <code>vmstat 1<\/code> \u00e7\u0131kt\u0131s\u0131ndaki d\u00fczenli <code>si<\/code> ve <code>so<\/code> hareketi \u015f\u00fcpheyi swap&#8217;a \u00e7evirdi; ard\u0131ndan <code>ps<\/code> listesinin tepesinde beklenenden fazla PHP-FPM worker&#8217;\u0131 g\u00f6rd\u00fcm. Worker say\u0131s\u0131n\u0131 uygulaman\u0131n ger\u00e7ek trafi\u011fine g\u00f6re d\u00fc\u015f\u00fcr\u00fcp birka\u00e7 saat izledik. Swap&#8217;\u0131 b\u00fcy\u00fctmedim. Sorun, diskin k\u00fc\u00e7\u00fck olmas\u0131 de\u011fil, s\u00fcre\u00e7 havuzunun kontrols\u00fcz geni\u015flemesiydi.<\/p>\n<h2 id=\"swap-alanini-kaldirmak-veya-yeniden-boyutlandirmak\">Swap alan\u0131n\u0131 kald\u0131rmak veya yeniden boyutland\u0131rmak<\/h2>\n<p>Yanl\u0131\u015f boyutta bir swap dosyas\u0131 olu\u015fturduysan\u0131z yeni bir dosya eklemek zorunda de\u011filsiniz. \u00d6nce aktif alan\u0131 kapat\u0131n, <code>fstab<\/code> sat\u0131r\u0131n\u0131 kald\u0131r\u0131n, dosyay\u0131 silin ve yeni boyutu olu\u015fturun.<\/p>\n<pre><code>sudo swapoff \/swapfile\nsudo sed -i '|^\/swapfile none swap sw 0 0$|d' \/etc\/fstab\nsudo rm -f \/swapfile<\/code><\/pre>\n<p><code>sed<\/code> sat\u0131r\u0131 yaln\u0131zca tam e\u015fle\u015fen kayd\u0131 siler. Yine de production sistemlerinde dosyay\u0131 de\u011fi\u015ftirmeden \u00f6nce <code>sudo cp -a \/etc\/fstab \/etc\/fstab.bak<\/code> ile k\u00fc\u00e7\u00fck bir yedek al\u0131r\u0131m. <code>swapoff<\/code> ba\u015far\u0131s\u0131z olursa RAM durumunu inceleyin; sistemin ta\u015f\u0131yamayaca\u011f\u0131 bir i\u015flemi zorlamay\u0131n.<\/p>\n<p>Dosyay\u0131 silmeden \u00f6nce aktif swap&#8217;\u0131n ger\u00e7ekten kapand\u0131\u011f\u0131n\u0131 <code>swapon --show<\/code> ile do\u011frulay\u0131n. Ayn\u0131 isimle yeni dosyay\u0131 haz\u0131rlarken etkin eski alan\u0131 kar\u0131\u015ft\u0131rmak, \u00f6zellikle acele bir gece m\u00fcdahalesinde kolayd\u0131r.<\/p>\n<h2 id=\"vps-ortaminda-dikkat-edilmesi-gereken-noktalar\">VPS ortam\u0131nda dikkat edilmesi gereken noktalar<\/h2>\n<p>Her VPS ayn\u0131 sanalla\u015ft\u0131rma \u00f6zelliklerine sahip de\u011fildir. OpenVZ tabanl\u0131 baz\u0131 eski ortamlarda kullan\u0131c\u0131 i\u00e7inden swap olu\u015fturmak m\u00fcmk\u00fcn olmayabilir. KVM tabanl\u0131 bir VPS&#8217;te sanal disk \u00fczerinde swap dosyas\u0131 olu\u015fturmak daha yayg\u0131n bir y\u00f6ntemdir; sa\u011flay\u0131c\u0131n\u0131n kullan\u0131m \u015fartlar\u0131 yine ge\u00e7erlidir.<\/p>\n<p>Swap dosyas\u0131n\u0131n bulundu\u011fu disk dolarsa sistemin ba\u015fka sorunlar\u0131 da ba\u015flar. Loglar, veritaban\u0131 dosyalar\u0131 ve yedekler ayn\u0131 dosya sistemindeyse <code>df -h<\/code> de\u011ferini izleyin. Disk alan\u0131 kritik seviyeye geldi\u011finde \u00f6nce <code>ncdu<\/code> ile hangi dizinin b\u00fcy\u00fcd\u00fc\u011f\u00fcn\u00fc bulurum; rastgele dosya silmek yerine sahibini ve uygulaman\u0131n davran\u0131\u015f\u0131n\u0131 anlamaya \u00e7al\u0131\u015f\u0131r\u0131m.<\/p>\n<p>G\u00fcvenlik taraf\u0131nda swap dosyas\u0131n\u0131 \u015fifrelemek baz\u0131 tehdit modellerinde de\u011ferlidir. VPS sa\u011flay\u0131c\u0131s\u0131n\u0131n disk \u015fifrelemesi, snapshot politikas\u0131 ve fiziksel disk eri\u015fimi hakk\u0131nda bilgi sahibi de\u011filseniz swap&#8217;a ta\u015f\u0131nabilecek hassas verileri ayr\u0131ca de\u011ferlendirin. Tam disk \u015fifreleme m\u00fcmk\u00fcn de\u011filse Linux&#8217;ta \u015fifreli swap kurulumu da\u011f\u0131t\u0131ma ve a\u00e7\u0131l\u0131\u015fta anahtar y\u00f6netimine g\u00f6re de\u011fi\u015fir; kopyala-yap\u0131\u015ft\u0131r bir re\u00e7ete vermek yerine bu k\u0131sm\u0131 sa\u011flay\u0131c\u0131n\u0131n belgeleriyle birlikte tasarlamak gerekir.<\/p>\n<p>Swap, yedek de\u011fildir. \u0130\u00e7eri\u011fi korunacak uygulama verisi de\u011fil, \u00e7ekirde\u011fin \u00e7al\u0131\u015fma alan\u0131d\u0131r. Sistem \u00e7\u00f6kt\u00fc\u011f\u00fcnde swap dosyas\u0131n\u0131n var olmas\u0131 veritaban\u0131n\u0131 geri getirmez. Yedek kontrol\u00fc i\u00e7in <strong><a href=\"https:\/\/www.vps.tc\/blog\/tr\/linux-sunucu-guvenligi-icin-zorunlu-10-temel-adim\/\">Linux Sunucu G\u00fcvenli\u011fi i\u00e7in Zorunlu 10 Temel Ad\u0131m<\/a><\/strong> ba\u015fl\u0131\u011f\u0131ndaki yedekleme ve eri\u015fim kontrolleriyle birlikte ayr\u0131 bir plan y\u00fcr\u00fct\u00fcn.<\/p>\n<h2 id=\"zram-ne-zaman-daha-mantikli-olabilir\">ZRAM ne zaman daha mant\u0131kl\u0131 olabilir?<\/h2>\n<p>ZRAM, RAM i\u00e7inde s\u0131k\u0131\u015ft\u0131r\u0131lm\u0131\u015f bir blok cihaz\u0131 olu\u015fturarak swap benzeri bir alan sa\u011flar. Fiziksel disk I\/O&#8217;sunu azaltabilir ve k\u00fc\u00e7\u00fck sistemlerde i\u015fe yarayabilir; kar\u015f\u0131l\u0131\u011f\u0131nda CPU kullan\u0131r. Klasik swap dosyas\u0131n\u0131n her ortamda otomatik alternatifi de\u011fildir.<\/p>\n<p>CPU&#8217;su zaten dolu olan bir VPS&#8217;te zram eklemek yan\u0131t s\u00fcrelerini k\u00f6t\u00fcle\u015ftirebilir. D\u00fc\u015f\u00fck trafikli bir sistemde k\u0131sa bellek s\u0131\u00e7ramalar\u0131n\u0131 RAM i\u00e7indeki s\u0131k\u0131\u015ft\u0131r\u0131lm\u0131\u015f alanla kar\u015f\u0131lamak ise faydal\u0131 olabilir. \u00d6nce sa\u011flay\u0131c\u0131n\u0131n \u00e7ekirdek ve mod\u00fcl deste\u011fini, ard\u0131ndan monitoring sonu\u00e7lar\u0131n\u0131 kontrol edin.<\/p>\n<h2 id=\"kurulumdan-sonra-baktigim-noktalar\">Kurulumdan sonra bakt\u0131\u011f\u0131m noktalar<\/h2>\n<ul>\n<li><code>free -h<\/code> ile RAM ve swap g\u00f6r\u00fcn\u00fcr m\u00fc?<\/li>\n<li><code>swapon --show<\/code> beklenen dosyay\u0131 veya b\u00f6l\u00fcm\u00fc listeliyor mu?<\/li>\n<li><code>ls -l \/swapfile<\/code> \u00e7\u0131kt\u0131s\u0131nda izinler <code>600<\/code> m\u0131?<\/li>\n<li><code>\/etc\/fstab<\/code> i\u00e7inde tek ve do\u011fru bir kay\u0131t var m\u0131?<\/li>\n<li><code>sudo swapoff \/swapfile &amp;&amp; sudo swapon -a<\/code> testi ba\u015far\u0131yla tamamlan\u0131yor mu?<\/li>\n<li><code>vmstat 1<\/code> s\u0131ras\u0131nda s\u00fcrekli y\u00fcksek <code>si<\/code> ve <code>so<\/code> de\u011ferleri g\u00f6r\u00fcl\u00fcyor mu?<\/li>\n<li>Monitoring RAM kullan\u0131m\u0131, swap ve OOM kay\u0131tlar\u0131n\u0131 izliyor mu?<\/li>\n<\/ul>\n<p>Kernel g\u00fcnl\u00fcklerine de bakar\u0131m:<\/p>\n<pre><code>journalctl -k -b | grep -iE 'out of memory|oom|killed process'<\/code><\/pre>\n<p>\u00c7\u0131kt\u0131n\u0131n bo\u015f olmas\u0131 iyi bir i\u015farettir, fakat gelecekte OOM olmayaca\u011f\u0131n\u0131 kan\u0131tlamaz. Uptime Kuma veya Grafana ve Prometheus kullanan bir sisteminiz varsa bellek, swap ve disk I\/O metriklerini ayn\u0131 zaman aral\u0131\u011f\u0131nda izleyin. Olay an\u0131ndaki s\u00fcre\u00e7, trafik ve deploy kay\u0131tlar\u0131n\u0131 yan yana koymak tek bir grafi\u011fe bakmaktan daha sa\u011fl\u0131kl\u0131d\u0131r.<\/p>\n<p>VPS swap komutlar\u0131 k\u0131sa, bellek y\u00f6netimi biraz daha sab\u0131r isteyen bir konu. Benim \u00e7al\u0131\u015fma s\u0131ram basit: \u00f6nce \u00f6l\u00e7er, sonra swap ekler, ard\u0131ndan kullan\u0131m\u0131n ger\u00e7ekten d\u00fczelip d\u00fczelmedi\u011fini izlerim. Sunucuda swap bulunmas\u0131 rahatlat\u0131c\u0131d\u0131r; onu s\u00fcrekli kullanan sunucu ise size h\u00e2l\u00e2 \u00e7\u00f6z\u00fclmemi\u015f ba\u015fka bir sorunu anlat\u0131yordur.<\/p>\n<h2 id=\"sik-sorulan-sorular\">S\u0131k Sorulan Sorular<\/h2>\n<h3>VPS i\u00e7in ne kadar swap alan\u0131 olu\u015fturmal\u0131y\u0131m?<\/h3>\n<p>Tek bir do\u011fru boyut yoktur; VPS&#8217;in RAM miktar\u0131, \u00e7al\u0131\u015fan servisler ve en yo\u011fun bellek kullan\u0131m\u0131 birlikte de\u011ferlendirilmelidir. K\u00fc\u00e7\u00fck bir uygulama sunucusunda 1-2 GiB ba\u015flang\u0131\u00e7 i\u00e7in yeterli olabilir. Swap&#8217;\u0131 RAM eksikli\u011finin kal\u0131c\u0131 \u00e7\u00f6z\u00fcm\u00fc gibi g\u00f6rmeyin.<\/p>\n<h3>Swap kullan\u0131m\u0131 VPS&#8217;i yava\u015flat\u0131r m\u0131?<\/h3>\n<p>Evet. Yo\u011fun swap okuma ve yazma i\u015flemleri, diskin RAM&#8217;e g\u00f6re yava\u015f olmas\u0131 nedeniyle uygulamalar\u0131 a\u011f\u0131rla\u015ft\u0131rabilir. K\u0131sa s\u00fcreli ve d\u00fc\u015f\u00fck swap kullan\u0131m\u0131 normal olabilir; <code>vmstat 1<\/code> \u00e7\u0131kt\u0131s\u0131nda <code>si<\/code> ve <code>so<\/code> de\u011ferleri s\u00fcrekli y\u00fckseliyorsa bellek t\u00fcketimini inceleyin.<\/p>\n<h3>Swap dosyas\u0131 m\u0131, swap b\u00f6l\u00fcm\u00fc m\u00fc daha iyi?<\/h3>\n<p>Modern Linux sistemlerinde swap dosyas\u0131, y\u00f6netim kolayl\u0131\u011f\u0131 nedeniyle \u00e7o\u011fu VPS i\u00e7in yeterlidir. Swap b\u00f6l\u00fcm\u00fc do\u011frudan disk alan\u0131 sunar, fakat boyutunu sonradan de\u011fi\u015ftirmek daha zahmetlidir. VPS sa\u011flay\u0131c\u0131s\u0131 \u00f6zel bir se\u00e7enek sunmuyorsa dosya pratik bir tercihtir.<\/p>\n<h3>Swap dosyas\u0131 yeniden ba\u015flatmadan sonra neden kayboluyor?<\/h3>\n<p><code>swapon<\/code> komutu swap&#8217;\u0131 yaln\u0131zca mevcut \u00e7al\u0131\u015fma oturumu i\u00e7in etkinle\u015ftirir. <code>\/etc\/fstab<\/code> i\u00e7ine <code>\/swapfile none swap sw 0 0<\/code> kayd\u0131 eklenmemi\u015fse yeniden ba\u015flatma sonras\u0131nda dosya otomatik olarak etkinle\u015fmez.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>D\u00fc\u015f\u00fck RAM&#8217;li VPS&#8217;lerde swap alan\u0131n\u0131n ne i\u015fe yarad\u0131\u011f\u0131n\u0131, g\u00fcvenli bir swap dosyas\u0131n\u0131n nas\u0131l olu\u015fturulaca\u011f\u0131n\u0131 ve bellek bask\u0131s\u0131n\u0131n nas\u0131l izlenece\u011fini anlat\u0131yorum.<\/p>\n","protected":false},"author":2,"featured_media":386,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[383],"tags":[1423,581,909,1421,114],"class_list":["post-388","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-linux","tag-linux-bellek-yonetimi","tag-linux-sunucu","tag-sistem-yonetimi","tag-swap-alani","tag-vps"],"lang":"tr","translations":{"tr":388,"en":389},"pll_sync_post":[],"_links":{"self":[{"href":"https:\/\/www.vps.tc\/blog\/wp-json\/wp\/v2\/posts\/388","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.vps.tc\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.vps.tc\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.vps.tc\/blog\/wp-json\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"https:\/\/www.vps.tc\/blog\/wp-json\/wp\/v2\/comments?post=388"}],"version-history":[{"count":1,"href":"https:\/\/www.vps.tc\/blog\/wp-json\/wp\/v2\/posts\/388\/revisions"}],"predecessor-version":[{"id":390,"href":"https:\/\/www.vps.tc\/blog\/wp-json\/wp\/v2\/posts\/388\/revisions\/390"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.vps.tc\/blog\/wp-json\/wp\/v2\/media\/386"}],"wp:attachment":[{"href":"https:\/\/www.vps.tc\/blog\/wp-json\/wp\/v2\/media?parent=388"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.vps.tc\/blog\/wp-json\/wp\/v2\/categories?post=388"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.vps.tc\/blog\/wp-json\/wp\/v2\/tags?post=388"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}