SlideShare a Scribd company logo
Controlling Resources with Solaris Projects
by Gian-Paolo D. Musumeci,author of System Performance Tuning,2nd Edition
A Case Study in Performance Analysis
Alighieri Financial Services,a companythat helps expatriates manage their finances,is in something ofa mess.Its
complexfinancial-modeling workloads have to share resources with internal applications such as payroll and account
management,and these conflicts are starting to cause severe performance problems--nothing is getting done on
time,and their storage keeps filling up.The companyneeds some wayto effectively control resource availability.
Fortunately, Alighieri justupgraded its server,a Sun Ultra Enterprise 4500,to Solaris 9. This upgrade makes our task
somewhatstraightforward because a powerful new wayto manage processes has been introduced--projects.A
projectis a grouping of processes thatare subjectto a setof constraints.For example,we could limita projectto how
many processes itcould have, or how large of a file it could create.
Before we get into fixing Alighieri's problems,let's briefly cover the background.The key file to keep track of here is
the projectdatabase,/etc/project.
The projectfile contains a series ofone-line entries,one for each configured project.(If you don'twant to edit
the /etc/project file by hand, you can use the projadd, projdel, and projmod commands to add,
remove, or modifyprojects,respectively.)
Each line takes the following form:
project-name:project-id:comment:user-list:group-list:attributes
 The project-name field is the name of the project,and mustbe specified as an alphanumeric string--periods
(.) and colons (:) are not allowed.
 The project-id field is a unique numerical identifier for the project. The maximum projectID is 2,147,483,647;
projectIDs between 0 and 99 are reserved for the system.
 The commentfield is a description ofthe project.
 The user-listis a list of all the users who are allowed to associate with the project. Wildcards are allowed:an
asterisk (*) permits all users to join the project, and an exclamation point(!) followed by a username
excludes that user.An exclamation pointfollowed by an asterisk (!*) excludes all users.
 The group-listfield is analogous to the user-listfield.Wildcard constructs are valid here, justas they are in
the user-listfield.
 The attributes field defines the resource-control attributes associated with the project.Here are a few of the
mostinteresting options:
task.max-cpu-time The maximum amountofCPU time available to all the processes in this project(in
milliseconds).
task.max-lwps The maximum number oflightweightprocesses available to all the processes in this
project.
process.max-cpu-time The maximum amountofCPU time available per process for each process in this
project(in milliseconds).
process.max-file-
descriptor
The maximum number offile descriptors permitted to each process in this project.
process.max-file-size The maximum file size available to processes in this project(in bytes).
process.max-core-size The maximum size for a core file created by a process in this project(in bytes).
process.max-data-size The maximum heap size for a process in this project(in bytes).
process.max-stack-size The maximum stack size for a process in this project(in bytes).
process.max-address-
space
The maximum amountofaddress space (over all segments) available for a process
in this project(in bytes).
(There are other resource controls available--these are justthe ones thatare mostimmediatelyinteresting.)
Each attribute is specified by setting it equal to a triplet, like this:
attribute=(privlevel,value,action)
There are three available values for privlevel. The first, "basic",means thatthe threshold can be modified by the
process,withoutany special privileges;the second,"privileged",means thatthe threshold can be changed onlyby
the superuser;the third, "system",means thatthe threshold is fixed for the duration of the operating system instance
(for example,until a reboot).
Multiple attributes can be specified for a single project;separate them with semicolons.
Now that we've walked through the theory, let's create a project.
We can put the following line in /etc/project:
test:10000:test
project:jqpublic::process.max-file-size=(privileged,16777216,deny)
Alternatively, we could run projadd to create this project:
purgatorio# projadd -p 10000 -c 'test project' -U jqpublic test
purgatorio# grep ^test: /etc/project
test:10000:test project:jqpublic::
(Note that projadd and projmod won't let you change the resource-control field.)
This projectis named "test" and has a projectID of "10000".Membership is restricted to the user "jqpublic,"and any
projectrunning in the test project will not be allowed to create a file greater than 16MB (16MB = 16,777,216 bytes).
When jqpublic next logs in,they can run `projects` to get a listof all the projects they are allowed to participate in:
jqpublic@purgatorio% projects
default group.staff test
To find out which projectis associated with the currently running shell,try id -p:
jqpublic@purgatorio% id -p
uid=127(jqpublic) gid=10(staff) projid=10(group.staff)
(A user's defaultprojectcan be changed by editing /etc/user_attr. The syntax to use for this is
"username::::project=projectname".For example:
gdm::::project=test
For more information,consultthe man page for user_attr(4).).
In this case,jqpublic's projectis 'default.'This project has no resource constraints assigned to it. Let's confirm that the
resource limitation works on the maximum file size we defined for the testproject:
jqpublic@purgatorio% id -p
uid=127(gdm) gid=10(staff) projid=10(group.staff)
jqpublic@purgatorio% mkfile -v 32M testfile.project=default
testfile.project=default 33554432 bytes
jqpublic@purgatorio% newtask -p test csh
jqpublic@purgatorio% id -p
uid=127(gdm) gid=10(staff) projid=10000(test)
jqpublic@purgatorio% mkfile -v 32M testfile.project=test
testfile.project=test 33554432 bytes
Could not set length of testfile.project=test: File too large
The resource constraintworked!
You can also setup the resource-managementframework so thatit writes a notification to the syslog when a
resource control is tripped.This can be done via rctladm:
# rctladm -e syslog process.max-file-descriptor
# rctladm |grep process.max-file-size
process.max-file-size syslog=notice [ lowerable deny
file-size ]
An attemptby a user in the 'test' projectto generate a 32MB file generates the following warning
in /var/adm/messages:
Jun 24 23:33:09 british-museum.internal genunix: [ID 883052
kern.notice] privileged rctl process.max-file-size (value 16777216)
exceeded by process 2428
One other interesting feature aboutprojects is thatthe prstat command can summarize running processes byproject,
if you give it the -J switch.This can be quite useful if, for example,you have a "Webserver" project to which all your
Web server daemons belong.(If you aren't familiar with prstat, I encourage you to play around with it: it's a useful
application.It gives output that is quite similar to that of top, but it is more lightweight.It became available in Solaris
8.)
jqpublic@purgatorio% prstat -cJ
PID USERNAME SIZE RSS STATE PRI NICE TIME CPU PROCESS/NLWP
2315 gdm 257M 257M cpu15 60 0 0:00:05 2.2% rmop/1
2316 gdm 5704K 4800K cpu19 59 0 0:00:00 0.2% prstat/1
198 root 2888K 2232K sleep 59 0 0:00:00 0.0% nscd/20
179 root 3464K 1912K sleep 59 0 0:00:00 0.0% syslogd/12
296 root 2696K 1776K sleep 59 0 0:00:00 0.0% devfsadm/5
201 root 1464K 1128K sleep 59 0 0:00:00 0.0% powerd/2
313 root 1784K 1144K sleep 59 0 0:00:00 0.0% ttymon/1
166 daemon 2472K 1736K sleep 9 0 0:00:00 0.0% statd/1
167 root 3672K 1984K sleep 59 0 0:00:00 0.0% automountd/2
165 root 184K 1448K sleep 59 0 0:00:00 0.0% lockd/2
139 root 2432K 1816K sleep 59 0 0:00:00 0.0% inetd/1
116 root 2144K 1136K sleep 59 0 0:00:00 0.0% rpcbind/1
60 root 3160K 2368K sleep 59 0 0:00:00 0.0% picld/4
55 root 2288K 1568K sleep 59 0 0:00:00 0.0% syseventd/14
99 root 1664K 712K sleep 59 0 0:00:00 0.0% in.routed/1
PROJID NPROC SIZE RSS MEMORY TIME CPU PROJECT
10000 3 264M 263M 4.5% 0:00:05 2.4% test
0 32 78M 47M 0.7% 0:00:44 0.0% system
3 3 5624K 4232K 0.1% 0:00:00 0.0% default
10 2 2928K 2448K 0.0% 0:00:00 0.0% group.staff
Total: 40 processes,102 lwps,load averages:0.17,0.04, 0.02
Using the resource-managementframework contained in projects,we can create a set of projects for each major task
being used by Alighieri Financial Services.And we can easilycontrol justhow much processor time is permissible for
each group of processes,and we can control a hostof other resources thatcould possiblybe competed against.This
illustrates a side ofperformance managementthatisn't very glamorous--butit's extremely useful.If we can control
resource competition,we can ensure that the applications thatare particularlyperformance-sensitive receive the
supportfrom the system thatthey need in order to be fast.

More Related Content

PDF
The Challenges of Container Configuration
PDF
Exploring OpenFaaS autoscalability on Kubernetes with the Chaos Toolkit
PDF
GDG DevFest 2015 - Reactive approach for slowpokes
PDF
StatsCraft 2015: Monitoring using riemann - Moshe Zada
PDF
A deep dive about VIP,HAIP, and SCAN
PDF
Zuul's Journey to Non-Blocking
PDF
Scalable Anomaly Detection (with Zero Machine Learning)
PDF
oracle cloud with 2 nodes processing
The Challenges of Container Configuration
Exploring OpenFaaS autoscalability on Kubernetes with the Chaos Toolkit
GDG DevFest 2015 - Reactive approach for slowpokes
StatsCraft 2015: Monitoring using riemann - Moshe Zada
A deep dive about VIP,HAIP, and SCAN
Zuul's Journey to Non-Blocking
Scalable Anomaly Detection (with Zero Machine Learning)
oracle cloud with 2 nodes processing

What's hot (20)

PDF
How To Install and Use ABRT CLI on RHEL 7
PDF
OSMC 2012 | Neues in Nagios 4.0 by Andreas Ericsson
PDF
How To Configure Apache VirtualHost on RHEL 7 on AWS
PPTX
MySQL Monitoring using Prometheus & Grafana
PDF
How to Install and Configure Cacti on Linux
PPTX
Sling tracer and Chrome Plugin to the Rescue
PDF
Hacking the Mesh: Extending Istio with WebAssembly Modules | DevNation Tech Talk
PDF
Microservices With Spring Boot and Spring Cloud Netflix
PDF
Dsi 11g convert_to RAC
PDF
MongoDB World 2019: Life In Stitch-es
PDF
Server startup
PPT
DTrace - Miracle Scotland Database Forum
PPT
Hw09 Monitoring Best Practices
PDF
glance replicator
PDF
How To Manage Linux User on RHEL 7
PDF
Diagnosability versus The Cloud, Redwood Shores 2011-08-30
PDF
GitLab PostgresMortem: Lessons Learned
PPTX
My sql failover test using orchestrator
PDF
PuppetConf 2016: Nano Server, Puppet, and DSC
PDF
How To Configure FirewallD on RHEL 7 or CentOS 7
How To Install and Use ABRT CLI on RHEL 7
OSMC 2012 | Neues in Nagios 4.0 by Andreas Ericsson
How To Configure Apache VirtualHost on RHEL 7 on AWS
MySQL Monitoring using Prometheus & Grafana
How to Install and Configure Cacti on Linux
Sling tracer and Chrome Plugin to the Rescue
Hacking the Mesh: Extending Istio with WebAssembly Modules | DevNation Tech Talk
Microservices With Spring Boot and Spring Cloud Netflix
Dsi 11g convert_to RAC
MongoDB World 2019: Life In Stitch-es
Server startup
DTrace - Miracle Scotland Database Forum
Hw09 Monitoring Best Practices
glance replicator
How To Manage Linux User on RHEL 7
Diagnosability versus The Cloud, Redwood Shores 2011-08-30
GitLab PostgresMortem: Lessons Learned
My sql failover test using orchestrator
PuppetConf 2016: Nano Server, Puppet, and DSC
How To Configure FirewallD on RHEL 7 or CentOS 7
Ad

Viewers also liked (16)

PDF
Die meist genutzten Apps: Facebook liegt vor Twitter
 
DOCX
PPTX
COOTAXIM PORTAL TURISTICO DEL EJE CAFETERO HA IMPLEMENTADO EL NEGOCIO DE TRAN...
PPTX
Idbi attachment
DOCX
dr.praveen c.v 10-1-2016
PPTX
Madrid fall 2013
PDF
Technopolis Corporate Bond Seminar Presentation, Dec 2013
PPTX
Sistema nervioso-y-subdiviones
PDF
Untitled Presentation
PDF
Clasificacion de recursos didácticos pdf
ODP
Games & meaning: procedurality, Puerto Rico, and beyond
PPTX
Lendas
PPT
Prepped for University: introducing academic literacy skills to secondary sch...
PDF
بيان 11-12-2013
PDF
Takfeer e muslim par a ek tahqiqi nazar
Die meist genutzten Apps: Facebook liegt vor Twitter
 
COOTAXIM PORTAL TURISTICO DEL EJE CAFETERO HA IMPLEMENTADO EL NEGOCIO DE TRAN...
Idbi attachment
dr.praveen c.v 10-1-2016
Madrid fall 2013
Technopolis Corporate Bond Seminar Presentation, Dec 2013
Sistema nervioso-y-subdiviones
Untitled Presentation
Clasificacion de recursos didácticos pdf
Games & meaning: procedurality, Puerto Rico, and beyond
Lendas
Prepped for University: introducing academic literacy skills to secondary sch...
بيان 11-12-2013
Takfeer e muslim par a ek tahqiqi nazar
Ad

Similar to sun solaris (20)

PPT
Performance analysis in a multitenant cloud environment Using Hadoop Cluster ...
PPTX
Airflow at lyft
PDF
Troubleshooting Tips and Tricks for Database 19c - EMEA Tour Oct 2019
PDF
Introduction to Java Profiling
PDF
Docker Monitoring Webinar
PPT
Ibm aix technical deep dive workshop advanced administration and problem dete...
PDF
Improving the performance of Odoo deployments
PPTX
Best Practices in Handling Performance Issues
ODP
Developing Drizzle Replication Plugins
PDF
LinuxCon 2013 Steven Dake on Using Heat for autoscaling OpenShift on Openstack
PPT
Monitoring using Prometheus and Grafana
PDF
Linux Systems Performance 2016
PPTX
Decrease build time and application size
PDF
Distributed Tracing
PDF
Presto anatomy
PDF
Aioug ha day oct2015 goldengate- High Availability Day 2015
ODP
Dynamic Tracing of your AMP web site
PPT
OGCE Project Overview
PPTX
Fine line between performance and security
PDF
Guide to alfresco monitoring
Performance analysis in a multitenant cloud environment Using Hadoop Cluster ...
Airflow at lyft
Troubleshooting Tips and Tricks for Database 19c - EMEA Tour Oct 2019
Introduction to Java Profiling
Docker Monitoring Webinar
Ibm aix technical deep dive workshop advanced administration and problem dete...
Improving the performance of Odoo deployments
Best Practices in Handling Performance Issues
Developing Drizzle Replication Plugins
LinuxCon 2013 Steven Dake on Using Heat for autoscaling OpenShift on Openstack
Monitoring using Prometheus and Grafana
Linux Systems Performance 2016
Decrease build time and application size
Distributed Tracing
Presto anatomy
Aioug ha day oct2015 goldengate- High Availability Day 2015
Dynamic Tracing of your AMP web site
OGCE Project Overview
Fine line between performance and security
Guide to alfresco monitoring

Recently uploaded (20)

PPTX
MCN 401 KTU-2019-PPE KITS-MODULE 2.pptx
PDF
July 2025 - Top 10 Read Articles in International Journal of Software Enginee...
PDF
Digital Logic Computer Design lecture notes
PPTX
MET 305 2019 SCHEME MODULE 2 COMPLETE.pptx
PPTX
additive manufacturing of ss316l using mig welding
PPTX
CH1 Production IntroductoryConcepts.pptx
PDF
Well-logging-methods_new................
PDF
SM_6th-Sem__Cse_Internet-of-Things.pdf IOT
PDF
BMEC211 - INTRODUCTION TO MECHATRONICS-1.pdf
PPTX
Geodesy 1.pptx...............................................
PDF
Evaluating the Democratization of the Turkish Armed Forces from a Normative P...
PPT
Mechanical Engineering MATERIALS Selection
PPTX
IOT PPTs Week 10 Lecture Material.pptx of NPTEL Smart Cities contd
PDF
PRIZ Academy - 9 Windows Thinking Where to Invest Today to Win Tomorrow.pdf
PPTX
UNIT-1 - COAL BASED THERMAL POWER PLANTS
PDF
Mitigating Risks through Effective Management for Enhancing Organizational Pe...
PPTX
CARTOGRAPHY AND GEOINFORMATION VISUALIZATION chapter1 NPTE (2).pptx
PPTX
Sustainable Sites - Green Building Construction
DOCX
ASol_English-Language-Literature-Set-1-27-02-2023-converted.docx
PPTX
Engineering Ethics, Safety and Environment [Autosaved] (1).pptx
MCN 401 KTU-2019-PPE KITS-MODULE 2.pptx
July 2025 - Top 10 Read Articles in International Journal of Software Enginee...
Digital Logic Computer Design lecture notes
MET 305 2019 SCHEME MODULE 2 COMPLETE.pptx
additive manufacturing of ss316l using mig welding
CH1 Production IntroductoryConcepts.pptx
Well-logging-methods_new................
SM_6th-Sem__Cse_Internet-of-Things.pdf IOT
BMEC211 - INTRODUCTION TO MECHATRONICS-1.pdf
Geodesy 1.pptx...............................................
Evaluating the Democratization of the Turkish Armed Forces from a Normative P...
Mechanical Engineering MATERIALS Selection
IOT PPTs Week 10 Lecture Material.pptx of NPTEL Smart Cities contd
PRIZ Academy - 9 Windows Thinking Where to Invest Today to Win Tomorrow.pdf
UNIT-1 - COAL BASED THERMAL POWER PLANTS
Mitigating Risks through Effective Management for Enhancing Organizational Pe...
CARTOGRAPHY AND GEOINFORMATION VISUALIZATION chapter1 NPTE (2).pptx
Sustainable Sites - Green Building Construction
ASol_English-Language-Literature-Set-1-27-02-2023-converted.docx
Engineering Ethics, Safety and Environment [Autosaved] (1).pptx

sun solaris

  • 1. Controlling Resources with Solaris Projects by Gian-Paolo D. Musumeci,author of System Performance Tuning,2nd Edition A Case Study in Performance Analysis Alighieri Financial Services,a companythat helps expatriates manage their finances,is in something ofa mess.Its complexfinancial-modeling workloads have to share resources with internal applications such as payroll and account management,and these conflicts are starting to cause severe performance problems--nothing is getting done on time,and their storage keeps filling up.The companyneeds some wayto effectively control resource availability. Fortunately, Alighieri justupgraded its server,a Sun Ultra Enterprise 4500,to Solaris 9. This upgrade makes our task somewhatstraightforward because a powerful new wayto manage processes has been introduced--projects.A projectis a grouping of processes thatare subjectto a setof constraints.For example,we could limita projectto how many processes itcould have, or how large of a file it could create. Before we get into fixing Alighieri's problems,let's briefly cover the background.The key file to keep track of here is the projectdatabase,/etc/project. The projectfile contains a series ofone-line entries,one for each configured project.(If you don'twant to edit the /etc/project file by hand, you can use the projadd, projdel, and projmod commands to add, remove, or modifyprojects,respectively.) Each line takes the following form: project-name:project-id:comment:user-list:group-list:attributes  The project-name field is the name of the project,and mustbe specified as an alphanumeric string--periods (.) and colons (:) are not allowed.  The project-id field is a unique numerical identifier for the project. The maximum projectID is 2,147,483,647; projectIDs between 0 and 99 are reserved for the system.  The commentfield is a description ofthe project.  The user-listis a list of all the users who are allowed to associate with the project. Wildcards are allowed:an asterisk (*) permits all users to join the project, and an exclamation point(!) followed by a username excludes that user.An exclamation pointfollowed by an asterisk (!*) excludes all users.  The group-listfield is analogous to the user-listfield.Wildcard constructs are valid here, justas they are in the user-listfield.  The attributes field defines the resource-control attributes associated with the project.Here are a few of the mostinteresting options: task.max-cpu-time The maximum amountofCPU time available to all the processes in this project(in milliseconds). task.max-lwps The maximum number oflightweightprocesses available to all the processes in this project. process.max-cpu-time The maximum amountofCPU time available per process for each process in this project(in milliseconds).
  • 2. process.max-file- descriptor The maximum number offile descriptors permitted to each process in this project. process.max-file-size The maximum file size available to processes in this project(in bytes). process.max-core-size The maximum size for a core file created by a process in this project(in bytes). process.max-data-size The maximum heap size for a process in this project(in bytes). process.max-stack-size The maximum stack size for a process in this project(in bytes). process.max-address- space The maximum amountofaddress space (over all segments) available for a process in this project(in bytes). (There are other resource controls available--these are justthe ones thatare mostimmediatelyinteresting.) Each attribute is specified by setting it equal to a triplet, like this: attribute=(privlevel,value,action) There are three available values for privlevel. The first, "basic",means thatthe threshold can be modified by the process,withoutany special privileges;the second,"privileged",means thatthe threshold can be changed onlyby the superuser;the third, "system",means thatthe threshold is fixed for the duration of the operating system instance (for example,until a reboot). Multiple attributes can be specified for a single project;separate them with semicolons. Now that we've walked through the theory, let's create a project. We can put the following line in /etc/project: test:10000:test project:jqpublic::process.max-file-size=(privileged,16777216,deny) Alternatively, we could run projadd to create this project: purgatorio# projadd -p 10000 -c 'test project' -U jqpublic test purgatorio# grep ^test: /etc/project test:10000:test project:jqpublic:: (Note that projadd and projmod won't let you change the resource-control field.) This projectis named "test" and has a projectID of "10000".Membership is restricted to the user "jqpublic,"and any projectrunning in the test project will not be allowed to create a file greater than 16MB (16MB = 16,777,216 bytes).
  • 3. When jqpublic next logs in,they can run `projects` to get a listof all the projects they are allowed to participate in: jqpublic@purgatorio% projects default group.staff test To find out which projectis associated with the currently running shell,try id -p: jqpublic@purgatorio% id -p uid=127(jqpublic) gid=10(staff) projid=10(group.staff) (A user's defaultprojectcan be changed by editing /etc/user_attr. The syntax to use for this is "username::::project=projectname".For example: gdm::::project=test For more information,consultthe man page for user_attr(4).). In this case,jqpublic's projectis 'default.'This project has no resource constraints assigned to it. Let's confirm that the resource limitation works on the maximum file size we defined for the testproject: jqpublic@purgatorio% id -p uid=127(gdm) gid=10(staff) projid=10(group.staff) jqpublic@purgatorio% mkfile -v 32M testfile.project=default testfile.project=default 33554432 bytes jqpublic@purgatorio% newtask -p test csh jqpublic@purgatorio% id -p uid=127(gdm) gid=10(staff) projid=10000(test) jqpublic@purgatorio% mkfile -v 32M testfile.project=test testfile.project=test 33554432 bytes Could not set length of testfile.project=test: File too large The resource constraintworked! You can also setup the resource-managementframework so thatit writes a notification to the syslog when a resource control is tripped.This can be done via rctladm: # rctladm -e syslog process.max-file-descriptor # rctladm |grep process.max-file-size process.max-file-size syslog=notice [ lowerable deny file-size ] An attemptby a user in the 'test' projectto generate a 32MB file generates the following warning in /var/adm/messages: Jun 24 23:33:09 british-museum.internal genunix: [ID 883052 kern.notice] privileged rctl process.max-file-size (value 16777216) exceeded by process 2428
  • 4. One other interesting feature aboutprojects is thatthe prstat command can summarize running processes byproject, if you give it the -J switch.This can be quite useful if, for example,you have a "Webserver" project to which all your Web server daemons belong.(If you aren't familiar with prstat, I encourage you to play around with it: it's a useful application.It gives output that is quite similar to that of top, but it is more lightweight.It became available in Solaris 8.) jqpublic@purgatorio% prstat -cJ PID USERNAME SIZE RSS STATE PRI NICE TIME CPU PROCESS/NLWP 2315 gdm 257M 257M cpu15 60 0 0:00:05 2.2% rmop/1 2316 gdm 5704K 4800K cpu19 59 0 0:00:00 0.2% prstat/1 198 root 2888K 2232K sleep 59 0 0:00:00 0.0% nscd/20 179 root 3464K 1912K sleep 59 0 0:00:00 0.0% syslogd/12 296 root 2696K 1776K sleep 59 0 0:00:00 0.0% devfsadm/5 201 root 1464K 1128K sleep 59 0 0:00:00 0.0% powerd/2 313 root 1784K 1144K sleep 59 0 0:00:00 0.0% ttymon/1 166 daemon 2472K 1736K sleep 9 0 0:00:00 0.0% statd/1 167 root 3672K 1984K sleep 59 0 0:00:00 0.0% automountd/2 165 root 184K 1448K sleep 59 0 0:00:00 0.0% lockd/2 139 root 2432K 1816K sleep 59 0 0:00:00 0.0% inetd/1 116 root 2144K 1136K sleep 59 0 0:00:00 0.0% rpcbind/1 60 root 3160K 2368K sleep 59 0 0:00:00 0.0% picld/4 55 root 2288K 1568K sleep 59 0 0:00:00 0.0% syseventd/14 99 root 1664K 712K sleep 59 0 0:00:00 0.0% in.routed/1 PROJID NPROC SIZE RSS MEMORY TIME CPU PROJECT
  • 5. 10000 3 264M 263M 4.5% 0:00:05 2.4% test 0 32 78M 47M 0.7% 0:00:44 0.0% system 3 3 5624K 4232K 0.1% 0:00:00 0.0% default 10 2 2928K 2448K 0.0% 0:00:00 0.0% group.staff Total: 40 processes,102 lwps,load averages:0.17,0.04, 0.02 Using the resource-managementframework contained in projects,we can create a set of projects for each major task being used by Alighieri Financial Services.And we can easilycontrol justhow much processor time is permissible for each group of processes,and we can control a hostof other resources thatcould possiblybe competed against.This illustrates a side ofperformance managementthatisn't very glamorous--butit's extremely useful.If we can control resource competition,we can ensure that the applications thatare particularlyperformance-sensitive receive the supportfrom the system thatthey need in order to be fast.