CPU Balance is a Perl script to balance the CPU usage among users. It will allocate CPU resource to each user equally only by the command renice, no matter how many processes/threads a user runs.

################
# Basic Renice Goal
################
1. User-based balance: every user get the same cpu percentage if they ask for more;
2. all the jobs of one user has the same NI;
3. NI of all jobs tend to move as large as possible when balanced;
4. No sudden change on NI. max change of NI of a proc <= 2. Only 1 user will be changed in a renice cycle.

################
# Advanced Features
################
1. gid/uid/cmd based renicable filter
2. gid/uid based weighted cpu division: priority & punished user support

Features

  • User-based balance
  • Privilege user/group support

Project Activity

See All Activity >

License

BSD License

Follow CPU Balance

CPU Balance Web Site

You Might Also Like
Get Advanced Threat Protection for Your Azure Workloads Icon
Get Advanced Threat Protection for Your Azure Workloads

FortiGate NGFW on Azure Enables You to Protect Your Workloads Beyond Basic Azure Security Services

FortiGate NGFW identifies and stops advanced threats with powerful application control, malware protection, web filtering, antivirus, and IPS technology. As the attack surface expands, FortiGate provides integrated and automated protection against emerging and sophisticated threats while securing hybrid or multi-cloud environments. Deploy today in Azure Marketplace.
Rate This Project
Login To Rate This Project

User Reviews

Be the first to post a review of CPU Balance!

Additional Project Details

Operating Systems

Linux, BSD

Languages

English

Intended Audience

Information Technology, Science/Research, Advanced End Users, System Administrators

User Interface

Non-interactive (Daemon)

Programming Language

Unix Shell, Perl

Related Categories

Unix Shell Systems Administration Software, Unix Shell Scientific Engineering, Perl Systems Administration Software, Perl Scientific Engineering

Registered

2011-01-20