Rumah > Tutorial sistem > LINUX > Penalaan Prestasi Sistem Linux: Mengoptimumkan CPU, Memori, dan Cakera

Penalaan Prestasi Sistem Linux: Mengoptimumkan CPU, Memori, dan Cakera

Joseph Gordon-Levitt
Lepaskan: 2025-03-26 09:02:10
asal
909 orang telah melayarinya

Penalaan Prestasi Sistem Linux: Mengoptimumkan CPU, Memori, dan Cakera

Pengenalan

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.

Memahami petunjuk prestasi sistem

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.

  • Beban purata: Bilangan proses yang menunggu masa CPU.
  • Penggunaan Memori: Jumlah RAM yang digunakan dan tersedia.
  • Disk I/O Menunggu: Masa proses menunggu akses cakera.
  • Penggunaan partition swap: Jumlah memori maya yang digunakan.
  • Switch Konteks: Bilangan masa penukaran proses sesaat.
  • Cakera cakera: baca/tulis kelajuan dan latensi.

Alat Pemantauan Prestasi Linux menyediakan pelbagai alat untuk mengukur metrik ini:

  • CPU dan Pemantauan Memori: Atas, HTOP, MPSTAT
  • Analisis prestasi cakera: iostat, iotop, dstat
  • Pemantauan peringkat sistem: VMSTAT, SAR
  • Analisis dan Penjejakan Prestasi: Perf, Strace
  • Proses dan Pengurusan Sumber: Bagus, Ulimit, Kumpulan

Penalaan prestasi CPU

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

  • Purata beban tinggi dan penggunaan CPU yang rendah menunjukkan isu menunggu I/O.
  • Penggunaan CPU yang tinggi mewakili proses intensif CPU.

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

Pengoptimuman prestasi memori

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

  • Laraskan kecenderungan partition swap:

sysctl -w vm.swappiness = 10

  • Gunakan partisi swap mampatan ZSWAP atau ZRAM:

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

Penalaan prestasi cakera I/O

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

  • Prestasi cakera penanda aras:

fio --name = seqwrite --rw = write --bs = 128k - -size = 1g --numjobs = 4 - -runtime = 60

Pengoptimuman Sistem Fail - Gunakan sistem fail yang dioptimumkan (ext4, XFS, BTRFS).

  • Dayakan pembalakan hanya jika diperlukan:

Tune2fs -o has_journal /dev /sdx

  • Gunakan pilihan gunung Noatime dan Nodiratime:

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.

  • Mengoptimumkan jalur LVM:

lvcreate -i 2 -i 256 -l 10g -n lv_name vg_name

Pengoptimuman SSD - Dayakan Trim:

fstrim -v /

  • Mengoptimumkan Tetapan Gunung:

Mount -o membuang, lalai /dev /sdx /mnt

Strategi Pengoptimuman Sistem Umum

  • Laraskan parameter kernel:

sysctl -w net.core.somaxconn = 1024 sysctl -w fs.file -max = 100000

  • Gunakan ULIMIT untuk mengelakkan keletihan sumber:

ULIMIT -N 100000

  • Lumpuhkan perkhidmatan yang tidak perlu:

Systemctl Disable Service_name

Kajian Kes Penalaan Prestasi

Beban CPU Tinggi pada Pelayan Web - Penggunaan CPU PHP -FPM yang tinggi dikenalpasti.

  • Gunakan Taskset untuk memperuntukkan beban.
  • Melaksanakan caching mengurangkan penggunaan CPU sebanyak 40%.

Kelebihan cakera I/O pada pelayan pangkalan data - Pindahkan log untuk memisahkan cakera.

  • Mengoptimumkan postgresql shared_buffers dan work_mem.
  • Beralih ke SSD meningkatkan masa pertanyaan sebanyak 60%.

kesimpulannya

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!

Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan