GNU/Linux >> Belajar Linux >  >> Linux

Cari tahu apa yang sebenarnya dilakukan oleh proses apache dengan penggunaan CPU yang tinggi?

Solusi 1:

Nah, jika Anda merasa berani:

gdb -p 20788

lalu keluarkan bt untuk melihat stack-frame, misalnya. g.

Dan BTW, ada juga ltrace lagi — coba juga.

UPD. :Baiklah, karena sekarang kami memiliki gagasan bahwa Apache benar-benar menjalankan sesuatu, mengapa Anda tidak melihat mod_status keluaran — Diperpanjang?

Solusi 2:

Pendekatan yang sangat mudah adalah dengan menggunakan htop . Anda dapat mengurutkan untuk proses CPU tinggi dan kemudian menggunakan

  • untuk strace sebuah proses
  • l untuk lsof untuk melihat file terbuka dari suatu proses
  • L ke ltrace .

Saya menemukan bahwa setidaknya satu dari opsi itu menemukan skrip yang menghasilkan beban dan Anda tentu saja dapat menggunakannya di server web produksi untuk melakukan debug.

Solusi 3:

Anda dapat mencoba:

  • iotop (menampilkan I/O pada sistem)
  • netstat -t (menampilkan koneksi)
  • Lihat file log apache dan cari tahu apa yang terakhir dilakukan server
  • atur beberapa RLimits untuk proses apache. Ketika batas ini tercapai, proses akan dimatikan, memberi Anda lebih banyak informasi

Linux
  1. Versi Linux Apa yang Saya Jalankan? Inilah Cara Mengetahuinya

  2. Cara Membatasi Penggunaan CPU Suatu Proses Di Linux

  3. 4 Cara Mengetahui Core CPU yang menjalankan Proses tertentu di Linux

  1. Linux – Bagaimana Cara Mengetahui Namespace Dari Proses Tertentu?

  2. Temukan proses apa yang ada di ujung lain pipa

  3. Bagaimana cara mencatat penggunaan CPU per proses?

  1. Bagaimana cara mengetahui apa yang dilakukan perintah Linux

  2. Proses Apa yang Membuat Jendela X11 Ini?

  3. Cari tahu proses mana yang mengubah file