Linux adalah sistem operasi yang kuat dan fleksibel, digunakan secara meluas dalam pelayan, sistem tertanam dan juga komputer peribadi. Walau bagaimanapun, walaupun sistem yang dikonfigurasi terbaik dapat menghadapi kesesakan prestasi dari masa ke masa. Penalaan prestasi adalah penting untuk memastikan operasi sistem Linux yang cekap, yang dapat mengoptimumkan penggunaan sumber dan mengelakkan kelembapan yang tidak perlu.
Panduan ini menyediakan kaedah penalaan prestasi Linux yang memberi tumpuan kepada tiga bidang utama: CPU, memori, dan pengoptimuman cakera. Sama ada anda seorang pentadbir sistem, jurutera DevOps, atau peminat Linux, memahami dan melaksanakan pengoptimuman ini akan membantu meningkatkan tindak balas sistem, mengurangkan sisa sumber, dan memastikan sistem berjalan lancar.
Sebelum anda dapat mengoptimumkan lagi, pastikan anda memahami metrik prestasi sistem. Memantau metrik ini membolehkan kami mendiagnosis isu prestasi dan membuat keputusan pelarasan yang dimaklumkan.
Petunjuk Prestasi Utama (KPI) - Penggunaan CPU: Peratusan masa CPU yang diambil oleh proses.
Alat Pemantauan Prestasi Linux menyediakan pelbagai alat untuk mengukur metrik ini:
Kesesakan CPU boleh berlaku disebabkan oleh beban proses yang tinggi, penjadualan yang tidak cekap, atau pertikaian untuk sumber CPU. Berikut adalah cara mengoptimumkan prestasi CPU.
Kenal pasti kesesakan CPU Gunakan arahan berikut untuk mendiagnosis masalah CPU:
htop mpstat atas -p semua 1 sar -u 5
Penjadualan proses yang dioptimumkan Linux menggunakan penjadual yang adil (CFS) untuk memperuntukkan masa CPU. Anda boleh menyesuaikan keutamaan proses secara manual menggunakan arahan berikut:
bagus -n 10 Process_Name Renice -n -5 -p pid
Gunakan Taskset untuk mengikat proses ke CPU tertentu:
Taskset -c 0,1 Process_name
Hadkan penggunaan CPU untuk mengelakkan proses daripada memakan terlalu banyak CPU, sila gunakan cpulimit:
cpulimit -l 50 -p pid
Untuk persekitaran kontena, gunakan cgroup:
cgcreate -g cpu:/limitedgroup echo 50000> /sys/fs/cgroup/cpu/limitedgroup/cpu.cfs_quota_us cgexec -g cpu: limitedgroup proses_name
Penalaan parameter kernel dan menyesuaikan parameter kernel dapat meningkatkan kecekapan CPU:
sysctl -w kernel.sched_min_granularity_ns = 10000000 sysctl -w kernel.sched_wakeup_granularity_ns = 15000000
Isu -isu memori boleh melambatkan sistem dengan teruk, mengakibatkan kelebihan dan latensi yang tinggi.
Mendiagnosis Penggunaan Memori Gunakan alat ini untuk memeriksa statistik memori:
percuma -m vmstat 5 smem
Cari penggunaan partition swap yang tinggi (SI dan sebagainya di VMSTAT), yang menunjukkan tekanan memori.
Mengoptimumkan Penggunaan Partition Swap - Periksa prestasi partition swap:
swapon -s
sysctl -w vm.swappiness = 10
modprobe zram echo 1>/sys/block/zram0/reset
Menguruskan cache dan buffer untuk membebaskan memori, membersihkan cache yang tidak digunakan:
penyegerakan; echo 3>/proc/sys/vm/drop_caches
Laraskan tingkah laku penampan kernel:
sysctl -w vm.dirty_ratio = 20 sysctl -w vm.dirty_background_ratio = 5
Pengoptimuman halaman besar untuk aplikasi seperti pangkalan data, membolehkan halaman besar:
echo 1024>/proc/sys/vm/nr_hugepages
Prestasi cakera adalah penting untuk pangkalan data, pelayan fail, dan aplikasi yang mengendalikan sejumlah besar data.
Ukur Prestasi Cakera - Periksa Aktiviti I/O:
iostat -x 5 iotop
fio --name = seqwrite --rw = write --bs = 128k - -size = 1g --numjobs = 4 - -runtime = 60
Pengoptimuman Sistem Fail - Gunakan sistem fail yang dioptimumkan (ext4, XFS, BTRFS).
Tune2fs -o has_journal /dev /sdx
Mount -O Remount, Noatime, Nodiratime /Dev /SDX /MNT
Penjadual cakera mengoptimumkan penjadual I/O untuk perubahan SSD:
echo noop>/sys/block/sda/giliran/penjadual
Untuk HDD:
echo cfq>/sys/block/sda/giliran/penjadual
Pengoptimuman RAID dan LVM - Gunakan RAID 10 untuk prestasi membaca/tulis yang lebih baik.
lvcreate -i 2 -i 256 -l 10g -n lv_name vg_name
Pengoptimuman SSD - Dayakan Trim:
fstrim -v /
Mount -o membuang, lalai /dev /sdx /mnt
sysctl -w net.core.somaxconn = 1024 sysctl -w fs.file -max = 100000
ULIMIT -N 100000
Systemctl Disable Service_name
Beban CPU Tinggi pada Pelayan Web - Penggunaan CPU PHP -FPM yang tinggi dikenalpasti.
Kelebihan cakera I/O pada pelayan pangkalan data - Pindahkan log untuk memisahkan cakera.
Penalaan prestasi adalah proses berterusan yang melibatkan pemantauan, analisis dan pengoptimuman. Dengan mengikuti amalan terbaik yang digariskan dalam panduan ini, anda dapat memastikan sistem Linux anda berjalan lancar dan cekap.
Atas ialah kandungan terperinci Penalaan Prestasi Sistem Linux: Mengoptimumkan CPU, Memori, dan Cakera. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!