मैं जावा प्रक्रिया और एनआरईपी जांच के साथ कुछ मुद्दे रख रहा हूं। हमारे पास कुछ प्रक्रियाएं हैं जो कभी-कभी 32 कोर सिस्टम पर 1000% सीपीयू का उपयोग करती हैं। जब तक आप ऐसा नहीं करते हैं, तब तक प्रणाली बहुत संवेदनशील है
ps aux
या कुछ भी करने की कोशिश / proc / pid # में
[root@flume07.domain.com /proc/18679]# ls
hangs..
पीएस ऑक्स की एक धारा
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,
जावा प्रक्रिया काम कर रही है और पूरी तरह से ठीक हो जाएगी, लेकिन मुद्दा यह है कि यह हमारी निगरानी को खत्म कर देता है नट सोच प्रक्रियाएं नीचे हैं क्योंकि यह समय पूरा होने के लिए पीएस ऑक्स की प्रतीक्षा कर रहा है।
मैंने कुछ ऐसा करने की कोशिश की है
nice -19 ionice -c1 /usr/lib64/nagios/plugins/check_procs -w 1:1 -c 1:1 -a 'diamond' -u root -t 30
भाग्य से नहीं
संपादित करें
सिस्टम चश्मा
- 32 कोर इंटेल (R) Xeon (R) CPU E5-2650 0 @ 2.00GHz
- 128 ग्राम राम
- 12 4Tb 7200 ड्राइव
- सेंटोस 6.5
- मुझे यकीन नहीं है कि मॉडल लेकिन विक्रेता सुपरमाइक्रो है
जब ऐसा होता है तो लोड 1 मिनट के लिए लगभग 90-160ish होता है।
विषम भाग यह है कि मैं किसी अन्य / 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 और समय सीमा स्विच को संभालने के लिए कमांड का उपयोग करने पर विचार करें । dmesg|tail
आउटपुट क्या दिखाता है? क्या आप I / O टाइमआउट देख रहे हैं?