Để thực hiện các tùy chọn như vĩnh viễn này, bạn thường sẽ thêm chúng vào tệp /etc/sysctl.conf
. Bạn có thể thấy một danh sách đầy đủ các tùy chọn có sẵn bằng lệnh này:
$ sysctl -a
Thí dụ
$ sudo sysctl -a | head -5
kernel.sched_child_runs_first = 0
kernel.sched_min_granularity_ns = 6000000
kernel.sched_latency_ns = 18000000
kernel.sched_wakeup_granularity_ns = 3000000
kernel.sched_shares_ratelimit = 750000
Bạn có thể tìm kiếm hugepage
trong đầu ra như vậy:
$ sudo sysctl -a | grep hugepage
vm.nr_hugepages = 0
vm.nr_hugepages_mempolicy = 0
vm.hugepages_treat_as_movable = 0
vm.nr_overcommit_hugepages = 0
Nó không có ở đó à?
Tuy nhiên nhìn qua đầu ra tôi không thấy transparent_hugepage
. Googling thêm một chút tôi đã đi qua trang Oracle này thảo luận về chính chủ đề này. Trang này có tiêu đề: Định cấu hình HugePages cho Oracle trên Linux (x86-64) .
Cụ thể trên trang đó họ đề cập đến cách vô hiệu hóa tính năng hugepage .
đoạn trích
Phương pháp ưa thích để vô hiệu hóa Huge HugePages là thêm "trong suốt_hugepage = never" vào dòng khởi động kernel trong tệp "/etc/grub.conf".
title Oracle Linux Server (2.6.39-400.24.1.el6uek.x86_64)
root (hd0,0)
kernel /vmlinuz-2.6.39-400.24.1.el6uek.x86_64 ro root=/dev/mapper/vg_ol6112-lv_root rd_NO_LUKS KEYBOARDTYPE=pc KEYTABLE=uk
LANG=en_US.UTF-8 rd_NO_MD SYSFONT=latarcyrheb-sun16 rd_NO_DM rd_LVM_LV=vg_ol6112/lv_swap rd_LVM_LV=vg_ol6112/lv_root rhgb quiet numa=off
transparent_hugepage=never
initrd /initramfs-2.6.39-400.24.1.el6uek.x86_64.img
Máy chủ phải được khởi động lại để điều này có hiệu lực.
Ngoài ra, bạn có thể thêm lệnh vào /etc/rc.local
tập tin của bạn .
if test -f /sys/kernel/mm/transparent_hugepage/enabled; then
echo never > /sys/kernel/mm/transparent_hugepage/enabled
fi
if test -f /sys/kernel/mm/transparent_hugepage/defrag; then
echo never > /sys/kernel/mm/transparent_hugepage/defrag
fi
Tôi nghĩ rằng tôi sẽ đi với tùy chọn thứ 2, vì tùy chọn đầu tiên sẽ có nguy cơ bị hủy đặt khi bạn nâng cấp từ hạt nhân này sang hạt nhân tiếp theo.
Bạn có thể xác nhận rằng nó hoạt động với lệnh sau sau khi khởi động lại:
$ cat /sys/kernel/mm/transparent_hugepage/enabled
always madvise [never]