Linux Debugging Reference Card

Total Page:16

File Type:pdf, Size:1020Kb

Linux Debugging Reference Card Version 2.2 ;Connect to boot core only Load Linux Awareness for v3.x/v4.x CORE.ASSIGN <physical boot core> TASK.CONFIG \ ~~/demo/<arch>/kernel/linux/linux-3.x/linux3.t32 ;Connect debugger and try to stop at reset vector MENU.ReProgram \ SYStem.Up ~~/demo/<arch>/kernel/linux/linux-3.x/linux.men Define Groups ;Let bootloader (e.g. U-Boot) initialize the system GROUP.Create "kernel" \ Go <kernel virtual address range> /RED WAIT 5.s Break Linux Debugging Reference Card Linux Resource Displays ;Load FIT image (Flattened-Image-Tree) to physical address Processes ;Linux menu Display Processes This reference card gives you an overview of frequently-used Data.LOAD.Binary image.FIT <phys.addr> TRACE32® commands for debugging targets running Linux TASK.Process ;Load kernel symbols (stop mode). Detailed task info Data.LOAD.Elf vmlinux /NoCODE ;Linux menu Display Processes Display Tasks Configure Linux for Debugging ;Continue bootloader – set temporary breakpoint to ‘start_kernel’ TASK.DTask "<name>" Compile kernel with debug info CONFIG_DEBUG_INFO=y Go start_kernel /Onchip "ps" #CONFIG_DEBUG_INFO_REDUCED not set ;Patch bootargs for debugging (in terminal window) ;Linux menu Display ps-like For module debugging set CONFIG_KALLSYMS=y setenv bootargs … nowatchdog \ TASK.PS Trace and task specific CONFIG_PID_IN_CONTEXTIDR=y breakpoints (ARM only) rcupdate.rcu_cpu_stall_suppress=1 File system internals ;Linux menu Display File System Disable KASLR (x86/x64 only) #CONFIG_RANDOMIZE_BASE not set ;Start FIT image with bootloader (in terminal window) TASK.FS.* Compile applications with option -g bootm <phys.addr> Kernel log buffer ;Wait until breakpoint (at start_kernel) is hit Attach to a Running Linux Target ;Linux menu Display Kernel Log WAIT !STATE.RUN() ;Initialize debugger TASK.DMESG Continue with Configure Linux Awareness. Actual sequence Device tree blob SYStem.CPU <cpu> heavily depends on target system and loading mechanisms. SYStem.Option <option> ;Linux menu Device Tree ;Enable space IDs TASK.DTB SYStem.Option MMUSPACES ON Configure Linux Awareness ;Connect debugger without reset assertion Debug Processes Mandatory for Userspace and Module debugging. Display processes SYStem.Mode Attach Examples available: . Break ~~/demo/<arch>/kernel/linux/boards ;Linux menu Display Processes ;Load kernel symbols MMU Declaration TASK.Process Data.LOAD.Elf vmlinux /NoCODE MMU.FORMAT LINUX swapper_pg_dir \ Configure symbol loader Continue with Configure Linux Awareness. Actual sequence heavily <virtual address range of swapper_pg_dir>\ ;Linux menu Symbol Autoloader <physical start address> depends on target system. TASK.sYmbol.Option AutoLoad Process TRANSlation.TableWalk ON TRANSlation.ON Start debugging at main() Download and Run Linux with TRACE32 ;Linux menu Process Debugging Debug new Process Define Common Range ;Initialize debugger DO ~~/demo/<arch>/kernel/linux/linux-3.x/ \ TRANSlation.COMMON \ app_debug <process> SYStem.CPU <cpu> <kernel+module virtual address range> SYStem.Option <option> Watch process starts ;Enable space IDs ;Linux menu Process Debugging Watch Processes SYStem.Option MMUSPACES ON TASK.Watch www.lauterbach.com Load symbols for running processes SMP Support Trace-based Task Profiling ;Linux menu Display Processes Right click on "magic" Setup Attach Debugging Display task switches Load Process Symbols The debugger automatically selects all cores Trace.List List.TASK /DEFault TASK.sYmbol.LOAD "<name>" Statistics when executing SYStem.CPU <cpu>. ;Perf menu Task runtime Show numerical Show thread context Start Debugging ;Linux menu Display Processes Right click on "magic" Trace.STATistic.TASK Use CORE.ASSIGN to select the physical boot Display Stack Frame core and switch to SMP after smp_init_done Charts Frame /TASK "<name>" is called. ;Perf menu Task runtime Show graphical Thread specific breakpoints Go smp_init_done Trace.Chart.TASK WAIT !STATE.RUN() TrOnchip.ContextID ON ;Set to ON (ARM only) ;Select breakpoint advanced TASK SYStem.Mode Down Trace-based Function Profiling Break.Set <addr> /TASK "<name>" CORE.ASSIGN 1. 2. … SYStem.Mode Attach Statistics ;Perf menu Task function runtime Show numerical View Debugger shows context of one core. Debug Libraries Trace.STATistic.Func State line shows current core number. Display libraries ;Filter specific task in the recorded trace e.g. offchip-trace ;Linux menu Display Processes right-click on "magic" Data/Register windows change color. Display maps Change core Right-click on core number in state line. Trace.STATistic.Func /TASK "<name>" TASK.MAPS "<name>" Use CORE.select <x> command. Charts Use option in window context. ;Perf menu Task function runtime Show graphical Configure symbol loader /CORE <x> ;Linux menu Symbol Autoloader Breakpoints Are set on all cores, current view switches Trace.Chart.Func automatically to core that hits the breakpoint. ;Filter specific task in the recorded trace e.g. offchip-trace TASK.sYmbol.Option AutoLoad Library Trace.Chart.Func /TASK "<name>" Load symbols ;Display maps Right-click on library "magic" Configure Trace-based Task Detection Load Library Symbols Using data trace (e.g. PowerPC) Documentation / Help / Support TASK.sYmbol.LOADLib <proc> <lib> Break.Set TASK.CONFIG(magic) /Write /TraceData User manuals pdf/rtos_linux_stop.pdf Using Context ID (ARM only) pdf/rtos_linux_run.pdf Debug Kernel Modules ETM.ContextID 32 Training manual pdf/training_rtos_linux.pdf Display modules ;Linux menu Display Modules pdf/training_rtos_linux_x86.pdf TASK.MODule Filter Trace Recording Example scripts demo/<arch>/kernel/linux Generic syntax Configure symbol loader Support local sales offices, Break.Set <space ID>:<virtual address range> ;Linux menu Symbol Autoloader [email protected] /TraceEnable TASK.sYmbol.Option AutoLoad Module Example: Filter Kernel function __switch_to Start debugging at module init routine Var.Break.Set __switch_to /TraceEnable ;Linux menu Module Debugging Debug Module on init Example: Filter Kernel, Modules, Userspace running in Task context DO ~~/demo/<arch>/kernel/linux/linux-3.x/ \ mod_debug <module> ;Linux menu Display Processes right-click on "magic" trace this task Load module symbols Break.Set <space ID>:0x0--0xffffffffffffffff ;Linux menu Display Modules Right click on "magic" /TraceEnable ;Use to adapt range e.g. to Load Module Symbols TASK.MAPS "<name>" ;task+libraries TASK.sYmbol.LOADMod "<name>" www.lauterbach.com Lauterbach GmbH • Altlaufstraße 40 • 85635 Höhenkirchen • [email protected] .
Recommended publications
  • Oracle® Linux 7 Monitoring and Tuning the System
    Oracle® Linux 7 Monitoring and Tuning the System F32306-03 October 2020 Oracle Legal Notices Copyright © 2020, Oracle and/or its affiliates. This software and related documentation are provided under a license agreement containing restrictions on use and disclosure and are protected by intellectual property laws. Except as expressly permitted in your license agreement or allowed by law, you may not use, copy, reproduce, translate, broadcast, modify, license, transmit, distribute, exhibit, perform, publish, or display any part, in any form, or by any means. Reverse engineering, disassembly, or decompilation of this software, unless required by law for interoperability, is prohibited. The information contained herein is subject to change without notice and is not warranted to be error-free. If you find any errors, please report them to us in writing. If this is software or related documentation that is delivered to the U.S. Government or anyone licensing it on behalf of the U.S. Government, then the following notice is applicable: U.S. GOVERNMENT END USERS: Oracle programs (including any operating system, integrated software, any programs embedded, installed or activated on delivered hardware, and modifications of such programs) and Oracle computer documentation or other Oracle data delivered to or accessed by U.S. Government end users are "commercial computer software" or "commercial computer software documentation" pursuant to the applicable Federal Acquisition Regulation and agency-specific supplemental regulations. As such, the use, reproduction, duplication, release, display, disclosure, modification, preparation of derivative works, and/or adaptation of i) Oracle programs (including any operating system, integrated software, any programs embedded, installed or activated on delivered hardware, and modifications of such programs), ii) Oracle computer documentation and/or iii) other Oracle data, is subject to the rights and limitations specified in the license contained in the applicable contract.
    [Show full text]
  • Chapter 3. Booting Operating Systems
    Chapter 3. Booting Operating Systems Abstract: Chapter 3 provides a complete coverage on operating systems booting. It explains the booting principle and the booting sequence of various kinds of bootable devices. These include booting from floppy disk, hard disk, CDROM and USB drives. Instead of writing a customized booter to boot up only MTX, it shows how to develop booter programs to boot up real operating systems, such as Linux, from a variety of bootable devices. In particular, it shows how to boot up generic Linux bzImage kernels with initial ramdisk support. It is shown that the hard disk and CDROM booters developed in this book are comparable to GRUB and isolinux in performance. In addition, it demonstrates the booter programs by sample systems. 3.1. Booting Booting, which is short for bootstrap, refers to the process of loading an operating system image into computer memory and starting up the operating system. As such, it is the first step to run an operating system. Despite its importance and widespread interests among computer users, the subject of booting is rarely discussed in operating system books. Information on booting are usually scattered and, in most cases, incomplete. A systematic treatment of the booting process has been lacking. The purpose of this chapter is to try to fill this void. In this chapter, we shall discuss the booting principle and show how to write booter programs to boot up real operating systems. As one might expect, the booting process is highly machine dependent. To be more specific, we shall only consider the booting process of Intel x86 based PCs.
    [Show full text]
  • UNIX OS Agent User's Guide
    IBM Tivoli Monitoring Version 6.3.0 UNIX OS Agent User's Guide SC22-5452-00 IBM Tivoli Monitoring Version 6.3.0 UNIX OS Agent User's Guide SC22-5452-00 Note Before using this information and the product it supports, read the information in “Notices” on page 399. This edition applies to version 6, release 3 of IBM Tivoli Monitoring (product number 5724-C04) and to all subsequent releases and modifications until otherwise indicated in new editions. © Copyright IBM Corporation 1994, 2013. US Government Users Restricted Rights – Use, duplication or disclosure restricted by GSA ADP Schedule Contract with IBM Corp. Contents Tables ...............vii Solaris System CPU Workload workspace ....28 Solaris Zone Processes workspace .......28 Chapter 1. Using the monitoring agent . 1 Solaris Zones workspace ..........28 System Details workspace .........28 New in this release ............2 System Information workspace ........29 Components of the monitoring agent ......3 Top CPU-Memory %-VSize Details workspace . 30 User interface options ...........4 UNIX OS workspace ...........30 UNIX Detail workspace ..........31 Chapter 2. Requirements for the Users workspace ............31 monitoring agent ...........5 Enabling the Monitoring Agent for UNIX OS to run Chapter 4. Attributes .........33 as a nonroot user .............7 Agent Availability Management Status attributes . 36 Securing your IBM Tivoli Monitoring installation 7 Agent Active Runtime Status attributes .....37 Setting overall file ownership and permissions for AIX AMS attributes............38
    [Show full text]
  • SUSE Linux Enterprise Server 11 SP4 System Analysis and Tuning Guide System Analysis and Tuning Guide SUSE Linux Enterprise Server 11 SP4
    SUSE Linux Enterprise Server 11 SP4 System Analysis and Tuning Guide System Analysis and Tuning Guide SUSE Linux Enterprise Server 11 SP4 Publication Date: September 24, 2021 SUSE LLC 1800 South Novell Place Provo, UT 84606 USA https://documentation.suse.com Copyright © 2006– 2021 SUSE LLC and contributors. All rights reserved. Permission is granted to copy, distribute and/or modify this document under the terms of the GNU Free Documentation License, Version 1.2 or (at your option) version 1.3; with the Invariant Section being this copyright notice and license. A copy of the license version 1.2 is included in the section entitled “GNU Free Documentation License”. For SUSE trademarks, see http://www.suse.com/company/legal/ . All other third party trademarks are the property of their respective owners. A trademark symbol (®, ™ etc.) denotes a SUSE or Novell trademark; an asterisk (*) denotes a third party trademark. All information found in this book has been compiled with utmost attention to detail. However, this does not guarantee complete accuracy. Neither SUSE LLC, its aliates, the authors nor the translators shall be held liable for possible errors or the consequences thereof. Contents About This Guide xi 1 Available Documentation xii 2 Feedback xiv 3 Documentation Conventions xv I BASICS 1 1 General Notes on System Tuning 2 1.1 Be Sure What Problem to Solve 2 1.2 Rule Out Common Problems 3 1.3 Finding the Bottleneck 3 1.4 Step-by-step Tuning 4 II SYSTEM MONITORING 5 2 System Monitoring Utilities 6 2.1 Multi-Purpose Tools 6 vmstat 7
    [Show full text]
  • System Analysis and Tuning Guide System Analysis and Tuning Guide SUSE Linux Enterprise Server 15 SP1
    SUSE Linux Enterprise Server 15 SP1 System Analysis and Tuning Guide System Analysis and Tuning Guide SUSE Linux Enterprise Server 15 SP1 An administrator's guide for problem detection, resolution and optimization. Find how to inspect and optimize your system by means of monitoring tools and how to eciently manage resources. Also contains an overview of common problems and solutions and of additional help and documentation resources. Publication Date: September 24, 2021 SUSE LLC 1800 South Novell Place Provo, UT 84606 USA https://documentation.suse.com Copyright © 2006– 2021 SUSE LLC and contributors. All rights reserved. Permission is granted to copy, distribute and/or modify this document under the terms of the GNU Free Documentation License, Version 1.2 or (at your option) version 1.3; with the Invariant Section being this copyright notice and license. A copy of the license version 1.2 is included in the section entitled “GNU Free Documentation License”. For SUSE trademarks, see https://www.suse.com/company/legal/ . All other third-party trademarks are the property of their respective owners. Trademark symbols (®, ™ etc.) denote trademarks of SUSE and its aliates. Asterisks (*) denote third-party trademarks. All information found in this book has been compiled with utmost attention to detail. However, this does not guarantee complete accuracy. Neither SUSE LLC, its aliates, the authors nor the translators shall be held liable for possible errors or the consequences thereof. Contents About This Guide xii 1 Available Documentation xiii
    [Show full text]
  • Machine Learning for Load Balancing in the Linux Kernel Jingde Chen Subho S
    Machine Learning for Load Balancing in the Linux Kernel Jingde Chen Subho S. Banerjee [email protected] [email protected] University of Illinois at Urbana-Champaign University of Illinois at Urbana-Champaign Zbigniew T. Kalbarczyk Ravishankar K. Iyer [email protected] [email protected] University of Illinois at Urbana-Champaign University of Illinois at Urbana-Champaign Abstract ACM Reference Format: The OS load balancing algorithm governs the performance Jingde Chen, Subho S. Banerjee, Zbigniew T. Kalbarczyk, and Rav- gains provided by a multiprocessor computer system. The ishankar K. Iyer. 2020. Machine Learning for Load Balancing in Linux’s Completely Fair Scheduler (CFS) scheduler tracks the Linux Kernel. In 11th ACM SIGOPS Asia-Pacific Workshop on Systems (APSys ’20), August 24–25, 2020, Tsukuba, Japan. ACM, New process loads by average CPU utilization to balance work- York, NY, USA, 8 pages. https://doi.org/10.1145/3409963.3410492 load between processor cores. That approach maximizes the utilization of processing time but overlooks the con- tention for lower-level hardware resources. In servers run- 1 Introduction ning compute-intensive workloads, an imbalanced need for The Linux scheduler, called the Completely Fair Scheduler limited computing resources hinders execution performance. (CFS) algorithm, enforces a fair scheduling policy that aims to This paper solves the above problem using a machine learn- allow all tasks to be executed with a fair quota of processing ing (ML)-based resource-aware load balancer. We describe time. CFS allocates CPU time appropriately among the avail- (1) low-overhead methods for collecting training data; (2) an able hardware threads to allow processes to make forward ML model based on a multi-layer perceptron model that imi- progress.
    [Show full text]
  • Raspberry Pi Installation Manual
    RASPBERRY PI INSTALLATION MANUAL RASPBERRY PI INSTALLATION GUIDE www.researchdesignlab.com Page 1 RASPBERRY PI INSTALLATION MANUAL REQUIRED ITEMS A Raspberry Pi (Either a Model B or Model B+) SD Card o We recommend an 8GB class 4 SD card. Display and connecting cables o Any HDMI/DVI monitor or TV should work as a display for the Pi. o For best results, use one with HDMI input, but other connections are available for older devices. Keyboard and mouse o Any standard USB keyboard and mouse will work with your Raspberry Pi. Power supply o Use a 5V micro USB power supply to power your Raspberry Pi. Be careful that whatever power supply you use outputs at least 5V; insufficient power will cause your Pi to behave unexpectedly. Internet connection o To update or download software, we recommend that you connect your Raspberry Pi to the internet either via an Ethernet cable or a WiFi adaptor. Sound o Headphones, earphones or speakers with a 3.5mm jack will work with your Raspberry Pi. www.researchdesignlab.com Page 2 RASPBERRY PI INSTALLATION MANUAL RASPBERRY PI INSTALLING RASBIAN DEBIAN WHEEZY OPERATING SYSTEM USING WINDOWS http://downloads.raspberrypi.org/raspbian_latest Dowload the file “RASPBIAN Debian Wheezy.zip” and extract the image file. Insert the SD card into your SD card reader(format the sd card) and check which drive letter was assigned. You can easily see the drive letter (for example G:) by looking in the left column of Windows Explorer. You can use the SD Card slot (if you have one) or a cheap SD adaptor in a USB port.
    [Show full text]
  • Monitor CPU Usage on ISR4300 Series
    Monitor CPU Usage On ISR4300 Series Contents Introduction Prerequisites Requirements Components Used Architecture CPU Usage on IOSd CPU Usage by Traffic CPU Cores Installed CPU Cores Distribution Best Practices to Monitor CPU Introduction This document provides a guideline in order to read the Central Process Unit (CPU) usage on Integrated Service Routers (ISR) from the 4300 series family. Prerequisites Requirements Cisco recommends that you have knowledge of these topics: ● IOS-XE ● ISR43XX Components Used The information in this document is based on the hardware and software version: ● ISR4321/K9 ● ISR4331/K9 ● ISR4351/K9 ● 03.16.01a.S // 15.5(3)S1a ● 03.16.04b.S // 15.5(3)S4b The information in this document was created from the devices in a specific lab environment. All of the devices used in this document started with a cleared (default) configuration. If your network is live, ensure that you understand the potential impact of any command. Architecture Cisco ISR 4000 Series platforms run IOS-XE that has a distributed software architecture that runs a Linux kernel where IOS runs as one of many Linux processes. IOS runs as a daemon, which is referred as IOS-Daemon (IOSd). CPU Usage on IOSd In order to monitor the CPU usage on IOSd run the show process cpu command: #show process cpu CPU utilization for five seconds: 1%/0%; one minute: 1%; five minutes: 0% PID Runtime(ms) Invoked uSecs 5Sec 1Min 5Min TTY Process 1 2 8 250 0.00% 0.00% 0.00% 0 Chunk Manager 2 5 18 277 0.07% 0.00% 0.00% 0 Load Meter 3 0 2 0 0.00% 0.00% 0.00% 0 DiagCard4/-1
    [Show full text]
  • Enginecl: Usability and Performance in Heterogeneous Computing
    Accepted in Future Generation Computer Systems: https://doi.org/10.1016/j.future.2020.02.016 EngineCL: Usability and Performance in Heterogeneous Computing Ra´ulNozala,∗, Jose Luis Bosquea, Ramon Beividea aComputer Science and Electronics Department, Universidad de Cantabria, Spain Abstract Heterogeneous systems have become one of the most common architectures today, thanks to their excellent performance and energy consumption. However, due to their heterogeneity they are very complex to program and even more to achieve performance portability on different devices. This paper presents EngineCL, a new OpenCL-based runtime system that outstandingly simplifies the co-execution of a single massive data-parallel kernel on all the devices of a heterogeneous system. It performs a set of low level tasks regarding the management of devices, their disjoint memory spaces and scheduling the workload between the system devices while providing a layered API. EngineCL has been validated in two compute nodes (HPC and commodity system), that combine six devices with different architectures. Experimental results show that it has excellent usability compared with OpenCL; a maximum 2.8% of overhead compared to the native version under loads of less than a second of execution and a tendency towards zero for longer execution times; and it can reach an average efficiency of 0.89 when balancing the load. Keywords: Heterogeneous Computing, Usability, Performance portability, OpenCL, Parallel Programming, Scheduling, Load balancing, Productivity, API 1. Introduction On the other hand, OpenCL follows the Host-Device programming model. Usually the host (CPU) offloads a The emergence of heterogeneous systems is one of the very time-consuming function (kernel) to execute in one most important milestones in parallel computing in recent of the devices.
    [Show full text]
  • Linux Performance Analysis in 60,000 Milliseconds
    67 More Next Blog» [email protected] New Post Sign Out Monday, November 30, 2015 Links Linux Performance Analysis in 60,000 Milliseconds Netflix US & Canada Blog Netflix America Latina Blog You login to a Linux server with a performance issue: what do you check in the first minute? Netflix Brasil Blog At Netflix we have a massive EC2 Linux cloud, and numerous performance analysis tools to monitor and Netflix Benelux Blog investigate its performance. These include Atlas for cloud­wide monitoring, and Vector for on­demand instance analysis. While those tools help us solve most issues, we sometimes need to login to an instance Netflix DACH Blog and run some standard Linux performance tools. Netflix France Blog In this post, the Netflix Performance Engineering team will show you the first 60 seconds of an optimized Netflix Nordics Blog performance investigation at the command line, using standard Linux tools you should have available. Netflix UK & Ireland Blog Netflix ISP Speed Index First 60 Seconds: Summary In 60 seconds you can get a high level idea of system resource usage and running processes by running the Open positions at Netflix following ten commands. Look for errors and saturation metrics, as they are both easy to interpret, and then Netflix Website resource utilization. Saturation is where a resource has more load than it can handle, and can be exposed either as the length of a request queue, or time spent waiting. Facebook Netflix Page Netflix UI Engineering uptime dmesg | tail RSS Feed vmstat 1 mpstat -P ALL 1 pidstat 1 iostat -xz 1 About the Netflix Tech Blog free -m sar -n DEV 1 This is a Netflix blog focused on sar -n TCP,ETCP 1 technology and technology issues.
    [Show full text]
  • Kernel Operating System
    International Journal of Advanced Technology in Engineering and Science www.ijates.com Volume No.02, Special Issue No. 01, September 2014 ISSN (online): 2348 – 7550 KERNEL OPERATING SYSTEM Manjeet Saini1, Abhishek Jain2, Ashish Chauhan3 Department Of Computer Science And Engineering, Dronacharya College Of Engineering Khentawas, Farrukh Nagar, Gurgaon, Haryana, (India) ABSTRACT The central module of an operating system (OS) is the Kernel. It is the part of the operating system that loads first, and it remains in main memory. It is necessary for the kernel to be very small while still providing all the essential services needed by other parts of the OS because it stays in the memory. To prevent kernel code from being overwritten by programs or other parts of the operating system it is loaded into a protected area of memory. The presence of an operating system kernel is not a necessity to run a computer. Directly loading and executing the programs on the "bare metal" machine is possible, provided that the program authors are willing to do without any OS support or hardware abstraction. Many video game consoles and embedded systems still constitute the “bare metal” approach. But in general, newer systems use kernels and operating systems. Keywords: Scalability, Multicore Processors, Message Passing I. INTRODUCTION In computing, the kernel is a computer program that manages input/output requests from software, and translates them into data processing instructions for the central processing unit and other electronic components of a computer. When a computer program (in this context called a process) makes requests of the kernel, the request is called a system call.
    [Show full text]
  • Monitoring Linux & UNIX Environments
    Monitoring Linux & UNIX Environments © 2014, SolarWinds Worldwide, LLC. All rights reserved. Share: Monitoring Linux & UNIX Environments Linux, as we know is an open source operating system which is widely used at an enterprise level even today. Since it’s an open source and a free operating system, you can go to greater lengths to customize your applications and tools as per your needs and usage. Similarly, Linux is widely used in today’s smartphones and tablet PCs. Android phones and tablets were built based on the Linux kernel providing customers and end users a highly customizable and a scalable platform. Even though Linux offers plenty of flexibility, at an enterprise level, IT admins will still encounter performance issues. Whether it is Red Hat, SuSE, Ubuntu, CentOS, etc. performance issues related to the following will still keep coming up and you have to proactively troubleshoot. Storage issues and bottlenecks CPU load Memory bottlenecks Network issues Similar to Linux, UNIX offers free and open source software for enterprises while a few versions of UNIX are paid software. You need to constantly look at the following in your UNIX farm to avoid performance issues, irrespective of whether you’re using AIX, Solaris, or HP-UX operating systems. Context switching CPU spikes Zombie processes Memory constraints Linux & UNIX Performance Monitoring Linux and UNIX performance monitoring will ensure and help optimize the performance and availability of your OS environment. Linux and UNIX monitoring tools provide plenty of critical metrics which give you information on performance and other OS activities. In addition, you can drill-down using the monitoring tool to identify the cause of performance bottlenecks which was previously taking a lot of time to diagnose and troubleshoot.
    [Show full text]