한국어English日本語简体中文繁體中文DeutschไทยTiếng ViệtРусскийPortuguês (Brasil)EspañolBahasa Indonesia

Buku Putih Lag Game › L7 OS server (kernel)

Tugas terjadwal Cron jobs (log rotation, backup, scans)

ID penyebab so-cron · Penanggung jawab utama Infrastruktur server (Tim Infrastruktur)

Buka kartu interaktif dengan gambar dan simulasi →

Kompresi log, backup, dan pemindaian keamanan yang berjalan pada jam yang sama setiap hari menyita CPU dan disk.

Mengapa Tugas OS dijalankan pada waktu yang sudah ditentukan → Akibatnya Server game harus berbagi CPU dan disk dengan tugas tersebut → Di layar Patah-patah atau slow motion pada waktu tertentu, misalnya setiap pukul 04.00 dini hari

Gejala
Patah-patah, Slow motion
Faktor
Stall
Siapa yang mengalami
Seluruh server
Kapan
Secara berkala
Penanggung jawab
Penanggung jawab utama Infrastruktur server (Tim Infrastruktur)
Tugas Tim Infrastruktur
Sebar waktu eksekusi tugas, turunkan prioritasnya (nice, ionice), pisahkan dari server game (jalankan di server terpisah).
Di grafik
Melonjak secara berkala · Utilisasi CPU, antrean disk, waktu tick server
Yang diperiksa
Kumpulkan waktu eksekusi tugas terjadwal dari crontab dan systemctl list-timers, lalu pada waktu tick melonjak periksa proses mana yang memakai CPU dan disk dengan pidstat -u -d
Cocok jika
Tick melonjak di jam yang sama setiap hari (atau setiap jam), dan pada saat itu proses tugas terjadwal menyita CPU dan disk
Tidak cocok jika
Waktu lonjakan tidak cocok dengan jam yang sama setiap hari: bukan penyebab ini. Melonjak dengan interval beberapa detik atau beberapa menit: lebih mungkin “Jeda GC stop-the-world di server” atau “Timer terpicu serentak”
Sarana pemeriksaan
Tools infrastruktur (tanpa perlu kode game)

Sumber

  1. ionice(1) — Linux manual page util-linux
    Tugas dengan kelas idle hanya mendapat I/O saat program lain tidak memakai disk
  2. systemd.timer(5) — Linux manual page systemd
    RandomizedDelaySec menunda waktu tugas terjadwal secara acak untuk mengurangi penumpukan beban
  3. systemctl(1) — Linux manual page systemd
    list-timers: menampilkan unit timer menurut urutan waktu eksekusi berikutnya
  4. pidstat(1) — Linux manual page sysstat
    -u menampilkan CPU, -d menampilkan I/O disk per proses

Lihat juga

Lapisan yang sama: L7 OS server (kernel)

Penyebab di lapisan lain dengan gejala yang sama (Patah-patah)

Lihat kartu interaktif dengan gambar dan simulasi