Sponsored Content
Operating Systems Solaris Need to understand CPU capping in Zones Post 302908889 by jim mcnamara on Friday 11th of July 2014 06:01:06 AM
Old 07-11-2014
We have the kernel scheduling processes to use the cpu:

'capped cpu' means 'use any available cpu' , there is no short list of cpus, just a limit in how much cpu time you get for the zone as a whole. Every minute there are 128 minutes of available cpu on a system with 128 cpus. A capped zone is allowed to use 3 minutes max and the 3 minutes is scheduled on any cpu, since all cpus are shared equally - as in fair share scheduling. This is not like zone-based cpu affinity.

Dedicated cpu means the zone gets 3 cpus all for itself. If they are idle no cpu time is given to any other zone. In no case are those 3 cpus accessed by any other non-global zone. All processes are scheduled against a given prset (fixed set of 3 cpus). Think of this as cpu affinity on a zone basis rather than a per-process basis.

capped cpu is less restrictive. dedicated cpu locks zones (that can potentially do evil things) into a little cpu "space" where all they can trash are their own resources. Great for oracle. For example, a programmer requests a Cartesian product from two, billion-row tables. All the other zones hum happily along while the one evil zone thrashes in its own little pond.

Last edited by jim mcnamara; 07-11-2014 at 07:13 AM..
 

10 More Discussions You Might Find Interesting

1. UNIX for Dummies Questions & Answers

how to get persistant cpu utilization values per process per cpu in linux (! top,ps)

hi, i want to know cpu utilizatiion per process per cpu..for single processor also if multicore in linux ..to use these values in shell script to kill processes exceeding cpu utilization.ps (pcpu) command does not give exact values..top does not give persistant values..psstat,vmstat..does njot... (3 Replies)
Discussion started by: pankajd
3 Replies

2. Solaris

Solaris 10 : Memory Capping Query

Hi Folks, Im running solaris 10 8/07 and im trying to set up some memory capping within zones for the system project. ie. zone1# cat /etc/project system:0::::rcap.max-rss=41943040 user.root:1:::: noproject:2:::: default:3:::: group.staff:10:::: zone2# cat /etc/project... (3 Replies)
Discussion started by: trevagreene
3 Replies

3. Solaris

Multi CPU Solaris system shows 100% CPU usage.

Hello Friends, On one of my Solaris 10 box, CPU usage shows 100% using "sar", "vmstat". However, it has 4 CPUs and prstat and glance are not showing enough processes to justify high CPU utilization. ========================================================================= $ prstat -a ... (4 Replies)
Discussion started by: mahive
4 Replies

4. UNIX for Dummies Questions & Answers

Capping output redirection log file length

I am trying to write a script which will output notifications to a logfile, but I would like to cap the logfile to, let's say, 200 lines. Specifically I am using custom firmware, DD-wrt, on my router and I am implementing a script to connect to my work vpn. I have a loop that pings a computer... (2 Replies)
Discussion started by: joemommasfat
2 Replies

5. Solaris

In Solaris Zones Dedicated-Cpu Performance?

Hi All, While creating zone we will mention min and max cpu cores, like add dedicated-cpu set ncpus=NUM_CPUS_MIN-NUM_CPUS_MAX end Ques1: Suppose thing that non global zone uses only minimum cores at particular time What the other cores will do, Will it shared to global zone? Ques:2... (1 Reply)
Discussion started by: vijaysachin
1 Replies

6. Solaris

cpu- requirements for non-global zones

Hello Admins, Does anyone has any idea on how to assign no. of cpu and memory to non-global zones on solaris 10..... We have few zones in our environment. We wanted to assign memory and no of cpu's ..(e.g. 4Gb / 2 CPU's) Thanks... (4 Replies)
Discussion started by: snchaudhari2
4 Replies

7. Solaris

Solaris 10 - capping CPU

Hi all I've purchased a T3-1 server. The T3-1 has a 16 core CPU. I want to create a zone to install an Oracle DB server in. Due to Oracle licensing issues I want to limit the zone to 8 cores. I've done some research and it seems there are 2 ways of setting a CPU core limit for a zone. 1. ... (0 Replies)
Discussion started by: soliberus
0 Replies

8. Solaris

Resource Capping Help!

Hi guys. Quick question for some hopefully ;-) When using resource capping (for CPU in this case). If a container is restricted to use a single CPU/core, are the other containers intelligent enough to know that they have fewer CPU's available to them? My question relates to a T2000 which... (7 Replies)
Discussion started by: boneyard
7 Replies

9. UNIX for Dummies Questions & Answers

Is it possible to combine multiple CPU to act as a single CPU on the same server?

We have a single threaded application which is restricted by CPU usage even though there are multiple CPUs on the server, hence leading to significant performance issues. Is it possible to merge / combine multiple CPUs at OS level so it appear as a single CPU for the application? (6 Replies)
Discussion started by: Dissa
6 Replies

10. Solaris

Memory capping Solaris 11.3

I want to allocate RAM : 64GB (Dedicated allocation) Swap : 8GB Please assist and recommend the correct capping values capped-memory: physical: XXG Had allocated physical=64GB, Swap=8GB, and locaked 16GB and found my non-global zone were unable to use... (1 Reply)
Discussion started by: Shirishlnx
1 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 03:51 PM.
Unix & Linux Forums Content Copyright 1993-2022. All Rights Reserved.
Privacy Policy