關閉NUMA,關閉透明大頁
比較簡單的方法:
vim /etc/default/grub
在 GRUB_CMDLINE_LINUX 里面添加配置:
transparent_hugepage=never numa=off
修改后的配置為:
GRUB_CMDLINE_LINUX="resume=/dev/mapper/uos-swap rd.lvm.lv=uos/root rd.lvm.lv=uos/swap \\
video=efifb:off rhgb console=tty0 crashkernel=512M transparent_hugepage=never numa=off"
生成新的的啟動腳本:
grub2-mkconfig -o /boot/grub2/grub.cfg
效果查看
lscpu
numa沒有節點信息
numastat
看不到任何numa節點的內容
grep Huge /proc/meminfo
看到 AnonHugePages: 非0值 說明是啟用狀態.
關閉超線程
sudo sh -c 'echo off > /sys/devices/system/cpu/smt/control'
這個命令可以關閉超線程
sudo sh -c 'echo on > /sys/devices/system/cpu/smt/control'
這個命令可以打開超線程
效果查看
htop
查看CPU的總數.
lscpu
查看在線和offline的CPU個數信息.
開啟關閉部分核心
echo 0 > /sys/devices/system/cpu/cpu31/online
echo 0 > /sys/devices/system/cpu/cpu63/online
echo 0 > /sys/devices/system/cpu/cpu95/online
echo 0 > /sys/devices/system/cpu/cpu127/online
開啟很簡單:
echo 1 > /sys/devices/system/cpu/cpu31/online
echo 1 > /sys/devices/system/cpu/cpu63/online
echo 1 > /sys/devices/system/cpu/cpu95/online
echo 1 > /sys/devices/system/cpu/cpu127/online
查看CPU的啟停狀態
lscpu 一般結果為:
在線 CPU 列表:0-30,32-62
離線 CPU 列表:31,63-127
如果沒有執行 smt 的設置為:
在線 CPU 列表:0-30,32-62,64-94,96-126
離線 CPU 列表:31,63,95,127
禁止CPU被自動調度的方式
禁止被調度的CPU可以通過 taskset的方式綁定過去
這種方式的綁核性能更加好一些.
基本上不會有上下文切換, 性能是最好的.
vim /boot/grub2/grub.cfg
同樣在 GRUB_CMDLINE_LINUX 處增加設置為:
isolcpus=31,63,95,127
注意只能用逗號分隔,不能使用空間方式
然后執行 grub2-mkconfig -o /boot/grub2/grub.cfg
重啟服務器就可以了
手工調度
taskset -c 31,63,95,127 do-something-command
注意 taskset 的命令可以使用 區間 "-" 也可以使用 枚舉"," 方式進行綁定
offline和isolcpus的區別
offline 直接無法使用了.
isolcpus 僅是系統的進程調度不會自己調度到這個內核上面運行.
offline 之后無法進行綁定
isolcpus 之后可以進行綁定 性能最優.
聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。
舉報投訴
-
cpu
+關注
關注
68文章
10882瀏覽量
212224 -
Linux
+關注
關注
87文章
11322瀏覽量
209864 -
內存
+關注
關注
8文章
3037瀏覽量
74149
發布評論請先 登錄
相關推薦
走進Linux內存系統探尋內存管理的機制和奧秘
Linux 內存是后臺開發人員,需要深入了解的計算機資源。合理的使用內存,有助于提升機器的性能和穩定性。本文主要介紹Linux 內存組織結構
Linux的CPU和內存占用率查看
我們經常需要查看CPU和內存占用率,否則一旦存在情況很快就會有IDC(或客戶)找上門,Linux上查看資源使用情況有多種命令可以參考,CPU、內存
發表于 07-24 06:52
學會處理Linux內核訪問外設I/O資源的方式
Linux內核訪問外設I/O內存資源的方式有兩種:動態映射(ioremap)和靜態映射(map_desc)。
發表于 05-05 13:54
?502次閱讀
了解并學習Linux內存模型
model,其實就是從cpu的角度看,其物理內存的分布情況,在linux kernel中,使用什么的方式來管理這些物理內存。
發表于 05-12 09:44
?706次閱讀
Linux CPU的性能應該如何優化
在Linux系統中,由于成本的限制,往往會存在資源上的不足,例如 CPU、內存、網絡、IO 性能。本文,就對 Linux 進程和 CPU 的
CPU參數、主板設置里的內存頻率有啥區別
現在是買內存的好時機,有一個問題不知道小伙伴們弄清楚了沒,CPU參數、主板設置里都有內存頻率,CPU是固定的,而主板經常有一堆頻率可選。這就
Linux系統的共享內存的使用
但有時候為了讓不同進程之間進行通信,需要讓不同進程共享相同的物理內存,Linux通過 共享內存 來實現這個功能。下面先來介紹一下Linux系統的共享
評論