{"id":2206,"date":"2026-04-22T17:03:32","date_gmt":"2026-04-22T14:03:32","guid":{"rendered":"https:\/\/saviorhost.com\/blog\/?p=2206"},"modified":"2026-04-22T17:04:16","modified_gmt":"2026-04-22T14:04:16","slug":"linux-sunucularda-kullanici-basina-cpu-limiti-nasil-ayarlanir-ubuntu-centos","status":"publish","type":"post","link":"https:\/\/saviorhost.com\/blog\/linux-sunucularda-kullanici-basina-cpu-limiti-nasil-ayarlanir-ubuntu-centos\/","title":{"rendered":"Linux Sunucularda Kullan\u0131c\u0131 Ba\u015f\u0131na CPU Limiti Nas\u0131l Ayarlan\u0131r? (Ubuntu &#038; CentOS)"},"content":{"rendered":"<p data-path-to-node=\"9\">Sunucu y\u00f6neticilerinin en b\u00fcy\u00fck kabuslar\u0131ndan biri <b data-path-to-node=\"9\" data-index-in-node=\"51\">&#8220;G\u00fcr\u00fclt\u00fcl\u00fc Kom\u015fu&#8221; (Noisy Neighbor)<\/b> sorunudur. Bir hosting m\u00fc\u015fteriniz, yazd\u0131\u011f\u0131 Node.js uygulamas\u0131nda sonsuz bir d\u00f6ng\u00fcye (infinite loop) girdi\u011finde veya sald\u0131r\u0131 ald\u0131\u011f\u0131nda, uygulaman\u0131n i\u015flemci kullan\u0131m\u0131 saniyeler i\u00e7inde %100&#8217;e vurabilir.<\/p>\n<p data-path-to-node=\"10\">Cpanel, KeyHelp veya Plesk gibi paneller RAM limitlerini y\u00f6netmekte ba\u015far\u0131l\u0131 olsa da, do\u011frudan terminal (SSH) \u00fczerinden ba\u015flat\u0131lan i\u015flemlere (\u00d6rn: PM2 ile ba\u015flat\u0131lan Node.js) m\u00fcdahale edemezler. \u0130\u015fte tam bu noktada imdad\u0131m\u0131za Linux&#8217;un kalbinde yatan <b data-path-to-node=\"10\" data-index-in-node=\"250\">systemd<\/b> ve <b data-path-to-node=\"10\" data-index-in-node=\"261\">cgroups<\/b> yeti\u015fiyor.<\/p>\n<h3 data-path-to-node=\"11\" id=\"cpuquota-mantigi-nasil-calisir\">CPUQuota Mant\u0131\u011f\u0131 Nas\u0131l \u00c7al\u0131\u015f\u0131r?<\/h3>\n<p data-path-to-node=\"12\">Linux \u00e7ekirde\u011finde i\u015flemci g\u00fcc\u00fc y\u00fczdelik dilimlerle hesaplan\u0131r. Form\u00fcl olduk\u00e7a basittir: <b data-path-to-node=\"12\" data-index-in-node=\"89\">1 Tam \u00c7ekirdek (1 vCPU) = %100 CPUQuota<\/b><\/p>\n<p data-path-to-node=\"13\">Yani sunucunuzda 16 \u00e7ekirdek varsa ve siz bir kullan\u0131c\u0131ya <code data-path-to-node=\"13\" data-index-in-node=\"58\">%200<\/code> limit verirseniz, o kullan\u0131c\u0131 sistemin sadece 2 \u00e7ekirdek g\u00fcc\u00fc kadar\u0131n\u0131 kullanabilir. Kalan 14 \u00e7ekirdek di\u011fer m\u00fc\u015fterileriniz i\u00e7in g\u00fcvende kal\u0131r.<\/p>\n<hr data-path-to-node=\"14\" \/>\n<h3 data-path-to-node=\"15\" id=\"adim-adim-cpu-limiti-ayarlama-ubuntu-debian-centos-7-8-almalinux\">Ad\u0131m Ad\u0131m CPU Limiti Ayarlama (Ubuntu, Debian, CentOS 7\/8, AlmaLinux)<\/h3>\n<p data-path-to-node=\"16\">Modern Linux da\u011f\u0131t\u0131mlar\u0131n\u0131n neredeyse tamam\u0131 servis y\u00f6neticisi olarak <code data-path-to-node=\"16\" data-index-in-node=\"70\">systemd<\/code> kullan\u0131r. Bu nedenle anlataca\u011f\u0131m\u0131z y\u00f6ntem hem <b data-path-to-node=\"16\" data-index-in-node=\"124\">Ubuntu\/Debian<\/b> ailesinde hem de <b data-path-to-node=\"16\" data-index-in-node=\"155\">CentOS\/RHEL\/AlmaLinux<\/b> ailesinde kusursuz \u00e7al\u0131\u015f\u0131r.<\/p>\n<h4 data-path-to-node=\"17\" id=\"1-kullanicinin-uid-user-id-degerini-bulun\">1. Kullan\u0131c\u0131n\u0131n UID (User ID) De\u011ferini Bulun<\/h4>\n<p data-path-to-node=\"18\">Limitlendirme i\u015flemini kullan\u0131c\u0131 ad\u0131 (username) \u00fczerinden de\u011fil, kullan\u0131c\u0131n\u0131n Linux ID&#8217;si (UID) \u00fczerinden yapaca\u011f\u0131z. \u00d6rne\u011fin, <code data-path-to-node=\"18\" data-index-in-node=\"126\">ornekuser<\/code> isimli m\u00fc\u015fterinin UID&#8217;sini bulmak i\u00e7in SSH \u00fczerinden \u015fu komutu yaz\u0131n:<\/p>\n<div class=\"code-block ng-tns-c3006272665-526 ng-animate-disabled ng-trigger ng-trigger-codeBlockRevealAnimation\" data-hveid=\"0\" data-ved=\"0CAAQhtANahgKEwiu8puuyf6TAxUAAAAAHQAAAAAQ4QM\">\n<div class=\"code-block-decoration header-formatted gds-title-s ng-tns-c3006272665-526 ng-star-inserted\">\n<p><span class=\"ng-tns-c3006272665-526\">Bash<\/span><\/p>\n<div class=\"buttons ng-tns-c3006272665-526 ng-star-inserted\"><\/div>\n<\/div>\n<div class=\"formatted-code-block-internal-container ng-tns-c3006272665-526\">\n<div class=\"animated-opacity ng-tns-c3006272665-526\">\n<pre class=\"ng-tns-c3006272665-526\"><code class=\"code-container formatted ng-tns-c3006272665-526\" role=\"text\" data-test-id=\"code-content\">id -u ornekuser\r\n<\/code><\/pre>\n<\/div>\n<\/div>\n<\/div>\n<p data-path-to-node=\"20\"><i data-path-to-node=\"20\" data-index-in-node=\"0\">Bu komut size <code data-path-to-node=\"20\" data-index-in-node=\"14\">1005<\/code> gibi bir say\u0131 d\u00f6nd\u00fcrecektir.<\/i><\/p>\n<h4 data-path-to-node=\"21\" id=\"2-limiti-uygulayin\">2. Limiti Uygulay\u0131n<\/h4>\n<p data-path-to-node=\"22\">Buldu\u011funuz UID de\u011ferini kullanarak kullan\u0131c\u0131ya limit atay\u0131n. A\u015fa\u011f\u0131daki komut, <code data-path-to-node=\"22\" data-index-in-node=\"78\">ornekuser<\/code> isimli m\u00fc\u015fterinin sunucuda \u00e7al\u0131\u015ft\u0131raca\u011f\u0131 t\u00fcm i\u015flemleri (Web sitesi, Cron g\u00f6revleri, PM2 vb.) toplamda <b data-path-to-node=\"22\" data-index-in-node=\"190\">1 \u00c7ekirdek (1 vCPU)<\/b> ile s\u0131n\u0131rland\u0131r\u0131r:<\/p>\n<div class=\"code-block ng-tns-c3006272665-527 ng-animate-disabled ng-trigger ng-trigger-codeBlockRevealAnimation\" data-hveid=\"0\" data-ved=\"0CAAQhtANahgKEwiu8puuyf6TAxUAAAAAHQAAAAAQ4gM\">\n<div class=\"code-block-decoration header-formatted gds-title-s ng-tns-c3006272665-527 ng-star-inserted\">\n<p><span class=\"ng-tns-c3006272665-527\">Bash<\/span><\/p>\n<div class=\"buttons ng-tns-c3006272665-527 ng-star-inserted\"><\/div>\n<\/div>\n<div class=\"formatted-code-block-internal-container ng-tns-c3006272665-527\">\n<div class=\"animated-opacity ng-tns-c3006272665-527\">\n<pre class=\"ng-tns-c3006272665-527\"><code class=\"code-container formatted ng-tns-c3006272665-527\" role=\"text\" data-test-id=\"code-content\">systemctl set-property user-1005.slice CPUQuota=100%\r\n<\/code><\/pre>\n<\/div>\n<\/div>\n<\/div>\n<p data-path-to-node=\"24\">E\u011fer ba\u015flang\u0131\u00e7 seviyesi bir paket sunuyorsan\u0131z ve yar\u0131m \u00e7ekirdek (0.5 vCPU) vermek isterseniz:<\/p>\n<div class=\"code-block ng-tns-c3006272665-528 ng-animate-disabled ng-trigger ng-trigger-codeBlockRevealAnimation\" data-hveid=\"0\" data-ved=\"0CAAQhtANahgKEwiu8puuyf6TAxUAAAAAHQAAAAAQ4wM\">\n<div class=\"code-block-decoration header-formatted gds-title-s ng-tns-c3006272665-528 ng-star-inserted\">\n<p><span class=\"ng-tns-c3006272665-528\">Bash<\/span><\/p>\n<div class=\"buttons ng-tns-c3006272665-528 ng-star-inserted\"><\/div>\n<\/div>\n<div class=\"formatted-code-block-internal-container ng-tns-c3006272665-528\">\n<div class=\"animated-opacity ng-tns-c3006272665-528\">\n<pre class=\"ng-tns-c3006272665-528\"><code class=\"code-container formatted ng-tns-c3006272665-528\" role=\"text\" data-test-id=\"code-content\">systemctl set-property user-1005.slice CPUQuota=50%\r\n<\/code><\/pre>\n<\/div>\n<\/div>\n<\/div>\n<h4 data-path-to-node=\"26\" id=\"3-mevcut-siniri-kontrol-etmek\">3. Mevcut S\u0131n\u0131r\u0131 Kontrol Etmek<\/h4>\n<p data-path-to-node=\"27\">Bir m\u00fc\u015fteriye daha \u00f6nce ne kadar limit verdi\u011finizi g\u00f6rmek isterseniz \u015fu komutu kullanabilirsiniz:<\/p>\n<div class=\"code-block ng-tns-c3006272665-529 ng-animate-disabled ng-trigger ng-trigger-codeBlockRevealAnimation\" data-hveid=\"0\" data-ved=\"0CAAQhtANahgKEwiu8puuyf6TAxUAAAAAHQAAAAAQ5AM\">\n<div class=\"code-block-decoration header-formatted gds-title-s ng-tns-c3006272665-529 ng-star-inserted\">\n<p><span class=\"ng-tns-c3006272665-529\">Bash<\/span><\/p>\n<div class=\"buttons ng-tns-c3006272665-529 ng-star-inserted\"><\/div>\n<\/div>\n<div class=\"formatted-code-block-internal-container ng-tns-c3006272665-529\">\n<div class=\"animated-opacity ng-tns-c3006272665-529\">\n<pre class=\"ng-tns-c3006272665-529\"><code class=\"code-container formatted ng-tns-c3006272665-529\" role=\"text\" data-test-id=\"code-content\">systemctl show user-1005.slice -p CPUQuota\r\n<\/code><\/pre>\n<\/div>\n<\/div>\n<\/div>\n<p data-path-to-node=\"29\"><i data-path-to-node=\"29\" data-index-in-node=\"0\">\u00c7\u0131kt\u0131 <code data-path-to-node=\"29\" data-index-in-node=\"6\">CPUQuota=100%<\/code> \u015feklindeyse i\u015flem ba\u015far\u0131l\u0131d\u0131r. E\u011fer <code data-path-to-node=\"29\" data-index-in-node=\"56\">[not set]<\/code> yaz\u0131yorsa o kullan\u0131c\u0131n\u0131n bir s\u0131n\u0131r\u0131 yoktur ve t\u00fcm i\u015flemciyi kullanabilir.<\/i><\/p>\n<h4 data-path-to-node=\"30\" id=\"4-limiti-tamamen-kaldirmak-sinirsiz-yapmak\">4. Limiti Tamamen Kald\u0131rmak (S\u0131n\u0131rs\u0131z Yapmak)<\/h4>\n<p data-path-to-node=\"31\">Kullan\u0131c\u0131 daha \u00fcst bir pakete ge\u00e7ti\u011finde veya s\u0131n\u0131r\u0131 kald\u0131rmak istedi\u011finizde, e\u015fittir (<code data-path-to-node=\"31\" data-index-in-node=\"87\">=<\/code>) i\u015faretinden sonras\u0131n\u0131 bo\u015f b\u0131rakarak komutu tekrar \u00e7al\u0131\u015ft\u0131r\u0131n:<\/p>\n<div class=\"code-block ng-tns-c3006272665-530 ng-animate-disabled ng-trigger ng-trigger-codeBlockRevealAnimation\" data-hveid=\"0\" data-ved=\"0CAAQhtANahgKEwiu8puuyf6TAxUAAAAAHQAAAAAQ5QM\">\n<div class=\"code-block-decoration header-formatted gds-title-s ng-tns-c3006272665-530 ng-star-inserted\">\n<p><span class=\"ng-tns-c3006272665-530\">Bash<\/span><\/p>\n<div class=\"buttons ng-tns-c3006272665-530 ng-star-inserted\"><\/div>\n<\/div>\n<div class=\"formatted-code-block-internal-container ng-tns-c3006272665-530\">\n<div class=\"animated-opacity ng-tns-c3006272665-530\">\n<pre class=\"ng-tns-c3006272665-530\"><code class=\"code-container formatted ng-tns-c3006272665-530\" role=\"text\" data-test-id=\"code-content\">systemctl set-property user-1005.slice CPUQuota=\r\n<\/code><\/pre>\n<\/div>\n<\/div>\n<\/div>\n<hr data-path-to-node=\"33\" \/>\n<h3 data-path-to-node=\"34\" id=\"bonus-tum-keyhelp-kullanicilarina-tek-seferde-limit-koymak-otomasyon\">Bonus: T\u00fcm KeyHelp Kullan\u0131c\u0131lar\u0131na Tek Seferde Limit Koymak (Otomasyon)<\/h3>\n<p data-path-to-node=\"35\">E\u011fer halihaz\u0131rda KeyHelp, cPanel veya benzeri bir sistem kullan\u0131yorsan\u0131z ve sunucunuzdaki <b data-path-to-node=\"35\" data-index-in-node=\"90\">mevcut t\u00fcm m\u00fc\u015fterilere<\/b> tek seferde 1 vCPU (1 \u00c7ekirdek) s\u0131n\u0131r\u0131 koymak istiyorsan\u0131z, SSH \u00fczerinden root yetkisiyle a\u015fa\u011f\u0131daki basit <i data-path-to-node=\"35\" data-index-in-node=\"219\">bash<\/i> d\u00f6ng\u00fcs\u00fcn\u00fc \u00e7al\u0131\u015ft\u0131rabilirsiniz.<\/p>\n<p data-path-to-node=\"36\"><i data-path-to-node=\"36\" data-index-in-node=\"0\">(Not: A\u015fa\u011f\u0131daki script, kullan\u0131c\u0131 dizinlerinin <code data-path-to-node=\"36\" data-index-in-node=\"47\">\/home\/users\/<\/code> alt\u0131nda oldu\u011fu KeyHelp mimarisine g\u00f6re yaz\u0131lm\u0131\u015ft\u0131r. cPanel i\u00e7in dizini <code data-path-to-node=\"36\" data-index-in-node=\"131\">\/home\/<\/code> olarak de\u011fi\u015ftirebilirsiniz).<\/i><\/p>\n<div class=\"code-block ng-tns-c3006272665-531 ng-animate-disabled ng-trigger ng-trigger-codeBlockRevealAnimation\" data-hveid=\"0\" data-ved=\"0CAAQhtANahgKEwiu8puuyf6TAxUAAAAAHQAAAAAQ5gM\">\n<div class=\"code-block-decoration header-formatted gds-title-s ng-tns-c3006272665-531 ng-star-inserted\">\n<p><span class=\"ng-tns-c3006272665-531\">Bash<\/span><\/p>\n<div class=\"buttons ng-tns-c3006272665-531 ng-star-inserted\"><\/div>\n<\/div>\n<div class=\"formatted-code-block-internal-container ng-tns-c3006272665-531\">\n<div class=\"animated-opacity ng-tns-c3006272665-531\">\n<pre class=\"ng-tns-c3006272665-531\"><code class=\"code-container formatted ng-tns-c3006272665-531\" role=\"text\" data-test-id=\"code-content\"><span class=\"hljs-keyword\">for<\/span> d <span class=\"hljs-keyword\">in<\/span> \/home\/users\/*; <span class=\"hljs-keyword\">do<\/span>\r\n    kullanici=$(basename <span class=\"hljs-string\">\"<span class=\"hljs-variable\">$d<\/span>\"<\/span>)\r\n    uid=$(id -u <span class=\"hljs-string\">\"<span class=\"hljs-variable\">$kullanici<\/span>\"<\/span> 2&gt;\/dev\/null)\r\n    \r\n    <span class=\"hljs-keyword\">if<\/span> [ -n <span class=\"hljs-string\">\"<span class=\"hljs-variable\">$uid<\/span>\"<\/span> ]; <span class=\"hljs-keyword\">then<\/span>\r\n        <span class=\"hljs-built_in\">echo<\/span> <span class=\"hljs-string\">\"<span class=\"hljs-variable\">$kullanici<\/span> (UID: <span class=\"hljs-variable\">$uid<\/span>) i\u00e7in 1 vCPU s\u0131n\u0131r\u0131 ayarlan\u0131yor...\"<\/span>\r\n        systemctl set-property user-<span class=\"hljs-variable\">$uid<\/span>.slice CPUQuota=100%\r\n    <span class=\"hljs-keyword\">fi<\/span>\r\n<span class=\"hljs-keyword\">done<\/span>\r\n<span class=\"hljs-built_in\">echo<\/span> <span class=\"hljs-string\">\"\u0130\u015flem Tamamland\u0131! T\u00fcm mevcut m\u00fc\u015fteriler s\u0131n\u0131rland\u0131r\u0131ld\u0131.\"<\/span>\r\n<\/code><\/pre>\n<\/div>\n<\/div>\n<\/div>\n<h3 data-path-to-node=\"38\" id=\"sonuc\">Sonu\u00e7<\/h3>\n<p data-path-to-node=\"39\">Bu basit ama g\u00fc\u00e7l\u00fc y\u00f6ntem sayesinde payla\u015f\u0131ml\u0131 sunucular\u0131n\u0131z\u0131 modern bir bulut altyap\u0131s\u0131na (PaaS) d\u00f6n\u00fc\u015ft\u00fcrebilir, &#8220;kaynak satt\u0131k\u00e7a kazan\u00e7 sa\u011flayan&#8221; bir i\u015f modeli kurabilirsiniz. \u0130\u015flemci s\u00f6m\u00fcren hesaplar\u0131 engellemek, di\u011fer m\u00fc\u015fterilerinizin h\u0131z ve performans kalitesini an\u0131nda art\u0131racakt\u0131r.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Payla\u015f\u0131ml\u0131 bir sunucuda (Shared Hosting), tek bir kullan\u0131c\u0131n\u0131n hatal\u0131 yazd\u0131\u011f\u0131 bir kod veya yo\u011fun trafik alan bir uygulamas\u0131 t\u00fcm sunucunun i\u015flemcisini (CPU) t\u00fcketebilir. \u00d6zellikle PHP-FPM d\u0131\u015f\u0131nda, do\u011frudan \u00e7ekirdek \u00fczerinde \u00e7al\u0131\u015fan Node.js veya Python uygulamalar\u0131 sunucuyu kolayca kilitleyebilir. Bu makalede, Ubuntu ve CentOS sunucularda systemd ve cgroups (Control Groups) mimarisini kullanarak kullan\u0131c\u0131lara nas\u0131l &#8220;vCPU&#8221; s\u0131n\u0131r\u0131 koyaca\u011f\u0131n\u0131z\u0131 ad\u0131m ad\u0131m anlat\u0131yoruz.<\/p>\n","protected":false},"author":1,"featured_media":2207,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[68,80,78,64,82],"tags":[],"class_list":["post-2206","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-centos-7","category-keyhelp","category-linux","category-security","category-ubuntu"],"_links":{"self":[{"href":"https:\/\/saviorhost.com\/blog\/wp-json\/wp\/v2\/posts\/2206","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/saviorhost.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/saviorhost.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/saviorhost.com\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/saviorhost.com\/blog\/wp-json\/wp\/v2\/comments?post=2206"}],"version-history":[{"count":2,"href":"https:\/\/saviorhost.com\/blog\/wp-json\/wp\/v2\/posts\/2206\/revisions"}],"predecessor-version":[{"id":2209,"href":"https:\/\/saviorhost.com\/blog\/wp-json\/wp\/v2\/posts\/2206\/revisions\/2209"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/saviorhost.com\/blog\/wp-json\/wp\/v2\/media\/2207"}],"wp:attachment":[{"href":"https:\/\/saviorhost.com\/blog\/wp-json\/wp\/v2\/media?parent=2206"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/saviorhost.com\/blog\/wp-json\/wp\/v2\/categories?post=2206"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/saviorhost.com\/blog\/wp-json\/wp\/v2\/tags?post=2206"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}