Sponsored Content
Top Forums UNIX for Dummies Questions & Answers I have a 12 core Linux cpu but the load is really high on this box, hovering around 50. Post 302911437 by Corona688 on Thursday 31st of July 2014 03:31:38 PM
Old 07-31-2014
A single-thread process can't use more than one core -- 100% -- so anything above 100% must have threads. All of them might have threads, just not as busy right now.

I must make this clear: We know nothing of this "zoombie" application. (Searching for it on the net just finds a game for android.) For all I know, this problem might be a bug or misconfiguration, fixed without resorting to anything I suggest next. You should really consult your vendor about this issue before you invest too much time or money.

That said, I see two paths.

1) Configure zoombie to run less threads. People will need to start waiting their turn. How to do this depends on the application in question.

If your disks and memory can't keep up with the load, it doesn't matter how many cores you have. 50 idle cores all waiting for the same disk (which might actually be counted in the load average on Linux) aren't any faster than 30 idle cores.

2) Toughen your system to tolerate such a high load.

A load average of 50 on a 12-core system isn't as horrible as it sounds... It's not great, but it's no worse than 4 on a single-core. Lots of systems (especially leased ones -- getting the most for you money) tolerate quite high loads nonstop.

They deal with it by having lots of memory, beefing up the disks, nice-ing the hungriest processes (so you get priority when you need to administrate), putting swap on a separate hard-disk, and other such things -- this is standard configuration for most large UNIX systems, but not so much for consumer Linux unless they really planned ahead. This reduces the punishment various bottlenecks will cause, so it slows down more or less proportionately instead of bogging down.

You still need to control how fast queries are allowed to happen, though. The total amount of work done per second doesn't improve without more cores, so the more queries you accept, the slower they'll be completed. If your server allows itself to accept more queries per second than it can complete in a second, it's doomed.

Questions for you:

I'd like to see top and ps and iotop sometime your load average is really, really high. If you can't catch it in the act, you might need something like sar to record it.

Last edited by Corona688; 07-31-2014 at 04:53 PM..
 

9 More Discussions You Might Find Interesting

1. AIX

Application high CPU load

after a long period of running, the network application's CPU load in our syst em increase slowly, the failed at the end. we use "truss" tool to trace the process, found that it processes something like "semop" ,"semctl","thread_waitlock","kread" kernel call . The trace log file looks like the... (0 Replies)
Discussion started by: Frank2004
0 Replies

2. UNIX for Advanced & Expert Users

Sun: High kernel usage & very high load averages

Hi, I am seeing very high kernel usage and very high load averages on my system (Although we are not loading much data to our database). Here is the output of top...does anyone know what i should be looking at? Thanks, Lorraine last pid: 13144; load averages: 22.32, 19.81, 16.78 ... (4 Replies)
Discussion started by: lorrainenineill
4 Replies

3. HP-UX

HIgh Load

Hi All. In my production server the load is very high. normally it used to be less than 1,but now it is more than 5. I am new to unix all together. I want to know what is the reason behind high load. and if it is high what is the impact? (4 Replies)
Discussion started by: jyoti
4 Replies

4. Red Hat

High cpu load average

Hi Buddies, Thanx for reading my first post... After googling a lot and searching so many forums I am feeling down a bit... Please don't mind my ignorence, and my grammer ... :) My server is running RHEL 2.6.9-5.EL. The cpu load is going higher than roof, almost 100 sometimes. I am... (2 Replies)
Discussion started by: squid04
2 Replies

5. Shell Programming and Scripting

script to generate core if cpu is high

Hi guys, I need a script that will generate a core of a process when the process uses high cpu for a sustained period? So for example if a process is using greater than 80% cpu for more than 30 minutes do "gcore /var/tmp/process.core pid" (1 Reply)
Discussion started by: borderblaster
1 Replies

6. UNIX for Advanced & Expert Users

What's a high load for my system?

I'm not sure if this belong in dummies or advanced so I made my best guess. Go easy on me if I get it wrong. I'm trying to determine what a high load for my system is. I run a php/mysql web server with a dedicated host. The host has a Intel Xeon 3110 (Dual Core) processor. Our load seems to... (5 Replies)
Discussion started by: vanguard
5 Replies

7. Red Hat

apache high cpu load on high traffic

i have a Intel Quad Core Xeon X3440 (4 x 2.53GHz, 8MB Cache, Hyper Threaded) with 16gig and 1tb harddrive with a 1gb port and my apache is causing my cpu to go up to 100% on all four cores heres my http.config <IfModule prefork.c> StartServers 10 MinSpareServers 10 MaxSpareServers 15... (4 Replies)
Discussion started by: awww
4 Replies

8. Shell Programming and Scripting

what would a script include to find CPU's %system time high and user time high?

Hi , I am trying to :wall: my head while scripting ..I am really new to this stuff , never did it before :( . how to find cpu's system high time and user time high in a script?? thanks , help would be appreciated ! :) (9 Replies)
Discussion started by: sushwey
9 Replies

9. Shell Programming and Scripting

Restart debian server if one specific process has more than 10 seconds have high cpu load

Hi, could someone give me an example for a debian server script? I need to check a process if the process has a high cpu load (top). If yes the whole server needs to reboot. Thats it, nothing more. ;) Hope someone could help me. Regards woisch (2 Replies)
Discussion started by: woisch
2 Replies
CPUSET(3)						   BSD Library Functions Manual 						 CPUSET(3)

NAME
cpuset_create, cpuset_destroy, cpuset_zero, cpuset_set, cpuset_clr, cpuset_isset, cpuset_size -- dynamic CPU sets SYNOPSIS
#include <sched.h> cpuset_t * cpuset_create(void); void cpuset_destroy(cpuset_t *set); void cpuset_zero(cpuset_t *set); int cpuset_set(cpuid_t cpu, cpuset_t *set); int cpuset_clr(cpuid_t cpu, cpuset_t *set); int cpuset_isset(cpuid_t cpu, const cpuset_t *set); size_t cpuset_size(const cpuset_t *set); DESCRIPTION
This section describes the functions used to create, set, use and destroy the dynamic CPU sets. This API can be used with the POSIX threads, see pthread(3) and affinity(3). The ID of the primary CPU in the system is 0. FUNCTIONS
cpuset_create() Allocates and initializes a clean CPU-set. Returns the pointer to the CPU-set, or NULL on failure. cpuset_destroy(set) Destroy the CPU-set specified by set. cpuset_zero(set) Makes the CPU-set specified by set clean, that is, memory is initialized to zero bytes, and none of the CPUs set. cpuset_set(cpu, set) Sets the CPU specified by cpu in set. Returns zero on success, and -1 if cpu is invalid. cpuset_clr(cpu, set) Clears the CPU specified by cpu in the CPU-set set. Returns zero on success, and -1 if cpu is invalid. cpuset_isset(cpu, set) Checks if CPU specified by cpu is set in the CPU-set set. Returns the positive number if set, zero if not set, and -1 if cpu is invalid. cpuset_size(set) Returns the size in bytes of CPU-set specified by set. SEE ALSO
affinity(3), pset(3), sched(3), schedctl(8), kcpuset(9) HISTORY
The dynamic CPU sets appeared in NetBSD 5.0. BSD
November 2, 2011 BSD
All times are GMT -4. The time now is 05:16 AM.
Unix & Linux Forums Content Copyright 1993-2022. All Rights Reserved.
Privacy Policy