Author Topic: เช็ค zombie process แล้วตามหาต้นตอของ service ที่เกิด zombie  (Read 9479 times)

golfreeze

  • Administrator
  • Hero Member
  • *****
  • Posts: 2145
    • View Profile
    • นั่งสมาธิ สติปัฏฐานสี่ พาเที่ยววัด แนะนำวัด แจกcd ธรรมะฟรี
    • Email
เช็ค zombie process แล้วตามหาต้นตอของ service ที่เกิด zombie
โดยปกติแล้วในระบบ unix หรือ Linux จะมี process ที่หยุดการทำงาน แล้วบางทีไม่ถูกปิดลงอย่างปกติ จนเกิดเป็น process ที่เรียกว่า zombie ซึ่งบางครั้งมีการจอง mem ไว้ แล้วทำให้ process ใหม่ที่เข้ามาเยอะๆ ทำงานได้ไม่ทัน

ดังนั้นเราจึงต้องรู้วิธีการ tracking หาว่า มันเกิดมาจาก service ไหนแล้วทำการ restart service หรือเข้าไปแก้ไข coding ของคำสั่งนั้นซะ

เริ่มตั้งแต่ใช้งาน ps หาครับ

$ ps aux | grep 'Z'
USER       PID     %CPU %MEM  VSZ    RSS TTY      STAT START   TIME COMMAND
userb      9972   0.0  0.0   7628   992 pts/2    S+   19:40   0:00 grep --color=auto Z
userb      9572   0.0  0.0   0      0   ??       Z    19:40   0:00 [wc] defunct

ทำการค้นหาดูต้นตอ process id
$lsof -i -n -p 9972

หรือใช้
$pstree -p -s 9972

ก็ได้ครับ

golfreeze

  • Administrator
  • Hero Member
  • *****
  • Posts: 2145
    • View Profile
    • นั่งสมาธิ สติปัฏฐานสี่ พาเที่ยววัด แนะนำวัด แจกcd ธรรมะฟรี
    • Email
มีอีกตัวที่แนะนำครับผม command : strace
เช่นผมมี process id 3913 ที่ได้จากการรัน "top" แล้วจะค้นหาว่ามีการอ่านเขียน อะไรบ้าง
-o = output log ไปที่ไหน
-p = process id
-f = trace child process also
#strace -f -p 3913 -o /home/golf/chronyd_log_strace