ฉันมีปัญหาบางอย่างกับกระบวนการจาวาและการตรวจสอบ nrpe เรามีกระบวนการบางอย่างที่บางครั้งใช้ CPU 1000% ในระบบ 32 คอร์ ระบบค่อนข้างตอบสนองจนกว่าคุณจะทำ
ps aux
หรือลองทำอะไรก็ได้ใน / proc / pid # like
[root@flume07.domain.com /proc/18679]# ls
hangs..
ความงดงามของ ps aux
stat("/etc/localtime", {st_mode=S_IFREG|0644, st_size=2819, ...}) = 0
stat("/etc/localtime", {st_mode=S_IFREG|0644, st_size=2819, ...}) = 0
stat("/dev/pts1", 0x7fffb8526f00) = -1 ENOENT (No such file or directory)
stat("/dev/pts", {st_mode=S_IFDIR|0755, st_size=0, ...}) = 0
readlink("/proc/15693/fd/2", "/dev/pts/1", 127) = 10
stat("/dev/pts/1", {st_mode=S_IFCHR|0620, st_rdev=makedev(136, 1), ...}) = 0
write(1, "root 15693 15692 0 06:25 pt"..., 55root 15693 15692 0 06:25 pts/1 00:00:00 ps -Af
) = 55
stat("/proc/18679", {st_mode=S_IFDIR|0555, st_size=0, ...}) = 0
open("/proc/18679/stat", O_RDONLY) = 5
read(5, "18679 (java) S 1 18662 3738 3481"..., 1023) = 264
close(5) = 0
open("/proc/18679/status", O_RDONLY) = 5
read(5, "Name:\tjava\nState:\tS (sleeping)\nT"..., 1023) = 889
close(5) = 0
open("/proc/18679/cmdline", O_RDONLY) = 5
read(5,
กระบวนการ java กำลังทำงานและจะเสร็จสมบูรณ์ แต่ปัญหาคือทำให้กระบวนการตรวจสอบถั่วของเราหยุดทำงานเนื่องจากหมดเวลารอ ps aux ให้เสร็จ
ฉันพยายามทำสิ่งที่ชอบ
nice -19 ionice -c1 /usr/lib64/nagios/plugins/check_procs -w 1:1 -c 1:1 -a 'diamond' -u root -t 30
โดยไม่มีโชค
แก้ไข
รายละเอียดระบบ
- 32 คอร์ Intel (R) Xeon (R) CPU E5-2650 0 @ 2.00GHz
- ram ขนาด 128 กรัม
- 12 ไดรฟ์ 4Tb 7200
- CentOS 6.5
- ฉันไม่แน่ใจรุ่น แต่ผู้ขายคือ SuperMicro
โหลดเมื่อเกิดเหตุการณ์นี้ประมาณ 90-160ish เป็นเวลา 1 นาที
ส่วนที่แปลกคือฉันสามารถไปที่อื่น / proc / pid # และทำงานได้ดี ระบบตอบสนองเมื่อฉัน ssh ระบบเหมือนเมื่อเราได้รับการแจ้งเตือนของการโหลดสูงฉันสามารถ ssh ได้ในดี
การแก้ไขอื่น
ฉันใช้กำหนดส่งงานกำหนดการแล้ว
[root@dn07.domain.com ~]# for i in {a..m}; do cat /sys/block/sd${i}/queue/scheduler; done
noop anticipatory [deadline] cfq
noop anticipatory [deadline] cfq
noop anticipatory [deadline] cfq
noop anticipatory [deadline] cfq
noop anticipatory [deadline] cfq
noop anticipatory [deadline] cfq
noop anticipatory [deadline] cfq
noop anticipatory [deadline] cfq
noop anticipatory [deadline] cfq
noop anticipatory [deadline] cfq
noop anticipatory [deadline] cfq
noop anticipatory [deadline] cfq
noop anticipatory [deadline] cfq
ภูเขาดูเหมือนว่า
[root@dn07.manage.com ~]# mount
/dev/sda3 on / type ext4 (rw,noatime,barrier=0)
proc on /proc type proc (rw)
sysfs on /sys type sysfs (rw)
devpts on /dev/pts type devpts (rw,gid=5,mode=620)
tmpfs on /dev/shm type tmpfs (rw)
/dev/sda1 on /boot type ext2 (rw)
none on /proc/sys/fs/binfmt_misc type binfmt_misc (rw)
/dev/sdb1 on /disk1 type xfs (rw,nobarrier)
/dev/sdc1 on /disk2 type xfs (rw,nobarrier)
/dev/sdd1 on /disk3 type xfs (rw,nobarrier)
/dev/sde1 on /disk4 type xfs (rw,nobarrier)
/dev/sdf1 on /disk5 type xfs (rw,nobarrier)
/dev/sdg1 on /disk6 type xfs (rw,nobarrier)
/dev/sdh1 on /disk7 type xfs (rw,nobarrier)
/dev/sdi1 on /disk8 type xfs (rw,nobarrier)
/dev/sdj1 on /disk9 type xfs (rw,nobarrier)
/dev/sdk1 on /disk10 type xfs (rw,nobarrier)
/dev/sdl1 on /disk11 type xfs (rw,nobarrier)
/dev/sdm1 on /disk12 type xfs (rw,nobarrier)
โอเคฉันพยายามติดตั้งแบบปรับและตั้งค่าเป็นประสิทธิภาพของปริมาณงาน
[root@dn07.domain.com ~]# tuned-adm profile throughput-performance
Switching to profile 'throughput-performance'
Applying deadline elevator: sda sdb sdc sdd sde sdf sdg sdh[ OK ] sdk sdl sdm
Applying ktune sysctl settings:
/etc/ktune.d/tunedadm.conf: [ OK ]
Calling '/etc/ktune.d/tunedadm.sh start': [ OK ]
Applying sysctl settings from /etc/sysctl.d/99-chef-attributes.conf
Applying sysctl settings from /etc/sysctl.conf
Starting tuned: [ OK ]
mount
หน้าตาเป็นอย่างไร
tuned-adm profile enterprise-storage
คำสั่งเพื่อจัดการสวิตช์ nobarrier และ deadline สิ่งที่ไม่dmesg|tail
แสดงการส่งออก? คุณเห็นการหมดเวลาของ I / O หรือไม่