çekirdeği kapatmanız veya devre dışı bırakmanız gerekmez .
kullanırsınız cpusets ve taskset
http://man7.org/linux/man-pages/man7/cpuset.7.html
Bir cpuset, CPU'ların ve bellek düğümlerinin listesini tanımlar ...
Cpuset dosya sistemi, işlemci yerleşimini ve işlemlerin bellek yerleşimini denetlemek için kullanılan çekirdek cpuset mekanizmasına yönelik sahte dosya sistemi arabirimidir. Genellikle / dev / cpuset'e monte edilir.
Çekirdekler için yerleşik destekle derlenmiş çekirdekli sistemlerde, tüm işlemler bir cpuset'e bağlanır ve cpusets her zaman mevcuttur. Bir sistem cpusets'i destekliyorsa, / proc / filesystems dosyasında nodev cpuset girdisine sahip olacaktır. Cpuset dosya sistemini bağlayarak (aşağıdaki ÖRNEK bölümüne bakın), yönetici bir sistemdeki cpuset'leri bu sistemdeki işlemciyi ve bellek yerleşimini kontrol edecek şekilde yapılandırabilir. Varsayılan olarak, bir sistemdeki cpuset yapılandırması değiştirilmezse veya cpuset dosya sistemi bağlanmamışsa, cpuset mekanizmasının, var olsa da, sistemin davranışı üzerinde hiçbir etkisi yoktur.
Bir sistemin CPU'ları, bir paket içinde birden çok işlemci çekirdeği ve bir işlemci çekirdeği içindeki Hyper-Threads dahil olmak üzere, bir işlemin gerçekleştirilebildiği tüm mantıksal işlem birimlerini içerir. Bellek düğümleri ana belleğin tüm farklı kümelerini içerir; küçük ve SMP sistemlerinde tipik olarak sistemin tüm ana belleğini içeren tek bir bellek düğümü bulunurken, NUMA (tekdüze olmayan bellek erişimi) sistemlerinde birden çok bellek düğümü bulunur.
Kısacası, 6 çekirdeğe sahip 1 cpu'nuz varsa, cpusets'i yapılandırabilir ve işleminizi yalnızca bir çekirdek üzerinde yapılandırılmış bir cpuset'te başlatabilirsiniz , örneğin çekirdek # 3. Paralel bir süreç olsaydı, tek bir çekirdek tanımlanmış belirli bir cpuset'te 4 işlem başlattıysanız, 4 işlemin her biri çekirdek # 3'te% 25 cpu kullanımı elde edecekti.
Bundan yola çıkarak, tipik olarak olan bir cpuset ,
- örneğin 200'den fazla bir çekirdek sistemde, cpusetA, nerede bulunurlarsa bulunsunlar, 0–60 çekirdekleri, cpusetB çekirdekleri 61.,70; cpusetC, 71..80 çekirdekleri; ancak bir yönetici / mimar yapılandırmayı seçer.
- cpusetA belirli kullanıcılara ve / veya belirli yazılım programlarına tahsis edilmiştir; cpusetB farklı kullanıcılara / programlara tahsis edilir; ve bunun gibi.
- bir kullanıcı belirli bir cpuset içinde N çekirdeği isteyecek bir iş (süreç) başlatır ve şimdi bu çoklu (paralel) süreç verilen cpuset ile sınırlıdır . Ve belirli bir cpuset ile sınırlı olan N paralelleri için, bu işlemlerin her biri işlemci benzeşimi veya cpu benzeşiminden yararlanır / kullanılmalıdır, böylece bu paralel süreçler cpuset içindeki farklı çekirdekler üzerinde dökülmez.
ayrıca: https://linux.die.net/man/1/taskset
maxcpus=1
Komutu nereye koyduğunuz belli değil mi? Bu dizeyigrub.cfg
önyükleme seçeneği olarak mı yerleştirdiniz? (Lütfen yorumlarda yanıt vermek yerine sorunuzu güncelleyin).