Chapter ELEVEN. Processes, Threads, and Bottlenecks
Chapter Syllabus
11.1 Defining Processes and Threads
11.2 >Process Lifecycle
11.3 Context Switches and Timeslices
11.4 Process/Thread Priorities and Run Queues
11.5 >Multiprocessor Environments, Processor Affinity, and Processor Sets
11.6 Memory Requirements for Processes/Threads
11.7 Memory Limitations for 32-bit Operating Systems, magic Numbers, and Memory Windows
11.8 Performance Optimized Page Sizes (POPS)
11.9 Common Bottlenecks for Processes and Threads
11.10 Prioritizing Workloads with PRM and WLM
This chapter looks at some ideas relating to the life cycle of process. HP-UX is a multithreaded operating system. As such, we need to start that discussion by defining the difference between processes and threads. From there, we discuss various aspects of scheduling, memory utilization, and a number of common bottlenecks. Ultimately, the performance-
related
aspects of monitoring processes could have overwhelmed the entire chapter. I have tried to not let this happen. I have spent lots of time in other chapters in this book explaining technologies such as virtual memory, filesystems, volume management, and basic hardware concepts such as different processor architectures. This chapter is not going to be a detailed analysis of every possible CPU, memory, or disk bottleneck. For that level of detail, I suggest that you find a book specific to HP-UX performance and tuning;
HP-UX Tuning and Performance
by Robert F. Sauers and Peter S. Weygant is one such
excellent
book. What we do is consider some common bottlenecks and some tips and tricks to manage them. Ultimately, this leads to a discussion on the life cycle of a process and the use of the
kill
command. We also venture into slightly more sophisticated process management techniques than simply using the
kill
command; we take a brief look at Process Resource Manager (PRM) as well as WorkLoad Manager (WLM).
|