Unix System Programming Overview Outline What Is a Process? What Is

Total Page:16

File Type:pdf, Size:1020Kb

Unix System Programming Overview Outline What Is a Process? What Is Overview Last Week: ● How to program with directories ● Brief introduction to the UNIX file system Unix System Programming This Week: ● How to program UNIX processes (Chapters 7-9) Processes » Follow the flow of Ch 8. Process control sprinkled with reflections from Ch 7 (e.g., exit, process/program memory layout). ● fork() and exec() Maria Hybinette, UGA 1 Maria Hybinette, UGA 2 Outline What is a Process? ● What is a process? ● Review: A process is a program in execution (an active ● fork() entity, i.e., it is a running program , this was also on the ● exec() » Basic unit of work on a computer ● wait() » Examples: ● Process Data – compilation process, ● Special Exit Cases – word processing process – a.out process ● Process Ids – Shell process ● I/O Redirection – (we just need to make sure the program is running) ● User & Group ID real and effective (revisit) ● getenv & putenv ● ulimit Maria Hybinette, UGA 3 Maria Hybinette, UGA 4 What is a Process? What is a Process? ● It has both time, and space ● Each user can run many processes at once (e.g., by using &) » A container of instructions with some resources ● A process: » cat file1 file2 & ● Process reads, and writes (or updates) ● Two processes started on the command line. machine resources » ls | wc -l » e.g., CPU time (CPU carries out the instructions), ● A time sharing system (such as UNIX) run several processes » memory, by multiplexing between them » files, Processes » I/O devices (monitor, printer) to accomplish its task n-1 0 1 2 … OS (schedules process) Maria Hybinette, UGA 5 Maria Hybinette, UGA 6 What Makes up a Process? Formal Process Definition size? ● Program code (text) User Mode 3GB » Compiled version of the text Address Space ● Data (cannot be shared) A process is a program in execution, a stack sequential execution characterized by trace. It » global variables – Uninitialized (BSS segment) sometimes has a context (the information or data) and listed separately. – Initialized routine1 this context is maintained as the process var1 ● Process stack (scopes) var2 progresses through the system. » function parameters heap » return addresses arrayB[10] ; » local variables and functions data arrayA[10] = {0} ● <<Shared Libraries >> ● Heap: Dynamic memory (alloc) main ● OS Resources, environment routine1 text » open files, sockets routine2 » Credential for security 0x0 ● Registers address space are the shared resources of a(ll) thread(s) in a » program counter, stack pointer Maria Hybinette, UGA 7 Maria Hybinette, UGA program 8 Info about a process (running and foot print) 0xFFFFFFFF 4GB ● ● longsleepHelloW (binary with long sleep) Example: Process with Kernel Space 4GB Virtual Address Virtual Addresses ● size a.out. (foot print) Space (32 bit ● ps ! architectures) 0xC0000000 3GB » 61542 pts/5 00:00:00 longsleepHelloW! ● User Space (focused on ● cat /proc/61542/status! earlier, lower address ● space) User Space cat /proc/61542/maps! Virtual Addresses ● Kernel Space ● ppp 0x0 0x0 Maria Hybinette, UGA 9 Maria Hybinette, UGA 10 What is needed to keep track of a Process? Process Representation Process P2 Information System Memory ● Memory information: Memory Limits » Pointer to memory segments needed to run a process, i.e., pointers to the Page tables Memory base Kernel Process Table address space -- text, data, stack Initial P0 segments. Process Number Program counter P0 : HW state: resources ● Process management information: Program Counter Process P3 … » Process state, ID Registers P1 : HW state: resources » Content of registers: Process P P : HW state: resources – Program counter, stack pointer, Process State 2 2 process state, priority, process ID, CPU time used List of opened files P3 : HW state: resources Memory mappings ● File management & I/O information: I/O Devices allocated » Working directory, file descriptors … open, I/O devices allocated Accounting Pending requests Process P1 ● Accounting: amount of CPU used. Process control … Block (PCB) Maria Hybinette, UGA 11 Maria Hybinette, UGA 12 System Control: OS View: Process Control Block Process Attributes (PCB) ● How does an OS keep track of the state of a ps and top command can be used to look at process? current processes » Keep track of some information in a structure. – Example: In Linux a process information is kept in a ● PID - process ID: each process has a unique ID structure called struct task_struct declared in #include linux/sched.h! ● PPID - parent process ID: The process that – What is in the structure? forked to start the (child) process struct task_struct ● nice value - priority (-20 highest to 19 lowest) pid_t pid; /* process identifier */ long state; /* state for the process */ ● TTY associated with terminal (TTY teletype unsigned int time_slice /* scheduling information */ terminal) struct mm_struct *mm /* address space of this process */ – Where is it defined: ● not in /usr/include/linux – only user level code ● usr/src/kernel/2.6.32-431.29.2.elf6.x86_64/include/linux Maria Hybinette, UGA 13 Maria Hybinette, UGA 14 Back to user-level Other Process Attributes ● Finding PIDs ● Real user ID » At the shell prompt ● Effective user ID – ps u, ps, ps aux, ● Current directory ● ps no args # your process ● ps –ef # every process ● File descriptor table ● ps -p 77851 # particular process ● Environment – top interative » In a C program: int p = getpid(); // more later ● Pointer to program code, data stack and heap ● Execution priority ● Signal information Maria Hybinette, UGA 15 Maria Hybinette, UGA 16 Process ID conventions, and the 3 General Process Types in UNIX Process Life Cycle Interactive – foreground (shell must wait until complete [takes user input], or – background (&) [no user input] ● PID 0 – initiated an controlled terminal session » is usually the scheduler process (swapper), a system process – can accept input form user as it runs and output to the terminal (does not correspond to a program stored on disk, the grandmother of all processes). Daemons – server processes running in the background (e.g., listening to a port) ● init - Mother of all user processes, init is started at – Not associated with the terminal boot time (at end of the boot strap procedure) and is – typically started by init process at boot time responsible for starting other processes – Examples: ftpd, httpd, …, mail » It is a user process with PID 1 – If user wants to creates one, detach it from the terminal, kill its parent. (init adopts) » init uses file inittab and directory /etc/rc?.d Batch (at, cron, batch) » brings the user to a certain specified state (e.g. multiuser) – Jobs that are queued and processed one after another ● – recurrent tasks scheduled to run from a queue getty - login process that manages login sessions – periodic, recurrent tasks run when system usage is low, cron-jobs (administered by the daemon crond). – Examples: backups, experimental runs. » ZombiesMaria Hybinette, UGA… don’t count. 17 Maria Hybinette, UGA 18 Hierarchical Processes Tree on a (historical) UNIX System Display Process Hierarchy mother of all user processes OS Kernel pstree (processes) ● Syntax: pstree | more (all process) Process 0 Process 1 Process 2 (BSD) ● Syntax: pstree <PID> (sched - ATT, swapper - BSD) (init) pagedaemon ● Syntax: pstree <username> tree (directory) deamon (e.g. httpd) getty getty ● -d (directories), -a (hidden), -s (size), -p (permissions) ● tree –H . login login bash ksh Maria Hybinette, UGA 19 Maria Hybinette, UGA 20 Daemon Processes PID and Parentage ● Print out status information of various processes in the system: ps -axj (BSD) , ps -efjc (SVR4) , switches / flags varies ● A process ID or PID is a positive integer that uniquely identifies a running process and is stored in a variable ● process status (ps) of type pid_t ● Daemons (d) run with root privileges, no controlling terminal, parent process is init ● Example: print the process PID and parents PID {atlas:maria} ps -efjc | sort -k 2 -n | more // solaris below UID PID PPID PGID SID CLS PRI STIME TTY TIME CMD {saffron} print-pid root 0 0 0 0 SYS 96 Mar 03 ? 0:01 sched #include <sys/types.h> My PID is 3891 root 1 0 0 0 TS 59 Mar 03 ? 1:13 /etc/init -r #include <unistd.h> MY PPID is 3794 root 2 0 0 0 SYS 98 Mar 03 ? 0:00 pageout root 3 0 0 0 SYS 60 Mar 03 ? 4786:00 fsflush #include <stdio.h> PID COMMAND %CPU TIME root 61 1 61 61 TS 59 Mar 03 ? 0:00 /usr/lib/sysevent/syseventd int main(void) root 64 1 64 64 TS 59 Mar 03 ? 0:08 devfsadmd 3891 print-ids 0.0% 0:00.00 root 73 1 73 73 TS 59 Mar 03 ? 30:29 /usr/lib/picl/picld { 3874 top 13.6% 0:19.71 3794 ksh 0.0% 0:00.04 root 256 1 256 256 TS 59 Mar 03 ? 2:56 /usr/sbin/rpcbind pid_t pid, ppid; root 259 1 259 259 TS 59 Mar 03 ? 2:05 /usr/sbin/keyserv root 284 1 284 284 TS 59 Mar 03 ? 0:38 /usr/sbin/inetd -s printf( My PID is %d\n, (pid = getpid()) ); daemon 300 1 300 300 TS 59 Mar 03 ? 0:02 /usr/lib/nfs/statd printf( My PPID is %d\n\n, (pid = getppid()) ); root 302 1 302 302 TS 59 Mar 03 ? 0:05 /usr/lib/nfs/lockd root 308 1 308 308 TS 59 Mar 03 ? 377:42 /usr/lib/autofs/automountd } rootMaria Hybinette, 319 UGA 1 319 319 TS 59 Mar 03 ? 6:33 /usr/sbin/syslogd 21 Maria Hybinette, UGA 22 ● Linux processes ● pstree ● ps -efjc | sort -k 2 -n | more ● pidstat {nike:maria:125} ps -efjc | sort -k 2 -n | more # linux Oct 2014 below UID PID PPID PGID SID CLS PRI STIME TTY TIME CMD ● top, htop root 1 0 1 1 TS 19 Oct01 ? 00:02:11 /sbin/init root 2 0 0 0 TS 19 Oct01 ? 00:00:04 [kthreadd] ● mpstat root 3 2 0 0 FF 139 Oct01 ? 01:23:55 [migration/0] root 4 2 0 0 TS 19 Oct01 ? 00:01:10 [ksoftirqd/0] ● jobs root 5 2
Recommended publications
  • Parallel Programming in Unix, Many Programs Run in at the Same Time
    parallelism parallel programming! to perform a number of tasks simultaneously! these can be calculations, or data transfer or…! In Unix, many programs run in at the same time handling various tasks! we like multitasking…! we don’t like waiting… "1 simplest way: FORK() Each process has a process ID called PID.! After a fork() call, ! there will be a second process with another PID which we call the child. ! The first process, will also continue to exist and to execute commands, we call it the mother. "2 fork() example #include <stdio.h> // printf, stderr, fprintf! ! #include <sys/types.h> // pid_t ! } // end of child! #include <unistd.h> // _exit, fork! else ! #include <stdlib.h> // exit ! { ! #include <errno.h> // errno! ! ! /* If fork() returns a positive number, we int main(void)! are in the parent process! {! * (the fork return value is the PID of the pid_t pid;! newly created child process)! pid = fork();! */! ! int i;! if (pid == -1) {! for (i = 0; i < 10; i++)! fprintf(stderr, "can't fork, error %d\n", {! errno);! printf("parent: %d\n", i);! exit(EXIT_FAILURE);! sleep(1);! }! }! ! exit(0);! if (pid == 0) {! }// end of parent! /* Child process:! ! * If fork() returns 0, it is the child return 0;! process.! } */! int j;! for (j = 0; j < 15; j++) {! printf("child: %d\n", j);! sleep(1);! }! _exit(0); /* Note that we do not use exit() */! !3 why not to fork fork() system call is the easiest way of branching out to do 2 tasks concurrently. BUT" it creates a separate address space such that the child process has an exact copy of all the memory segments of the parent process.
    [Show full text]
  • Technical Evaluation and Legal Opinion of Warden: a Network Forensics Tool, Version 1.0 Author(S): Rod Yazdan, Newton Mccollum, Jennifer Ockerman, Ph.D
    NCJRS O FFICE OF JU STI CE PR OG RAM Se ~ N ATIONAL C RIMINAL JUSTICE REFERENCE SERVICE QJA BJS N/J OJJF OVC SMART '~ ..) The author(s) shown below used Federal funding provided by the U.S. Department of Justice to prepare the following resource: Document Title: Technical Evaluation and Legal Opinion of Warden: A Network Forensics Tool, Version 1.0 Author(s): Rod Yazdan, Newton McCollum, Jennifer Ockerman, Ph.D. Document Number: 252944 Date Received: May 2019 Award Number: 2013-MU-CX-K111 This resource has not been published by the U.S. Department of Justice. This resource is being made publically available through the Office of Justice Programs’ National Criminal Justice Reference Service. Opinions or points of view expressed are those of the author(s) and do not necessarily reflect the official position or policies of the U.S. Department of Justice. nl JOHNS HOPKINS ..APPLIED PHYSICS LABORATORY 11100 Johns Hopkins Road • Laurel, Maryland 20723-6099 AOS-18-1223 NIJ RT&E Center Project 15WA October 2018 TECHNICAL EVALUATION AND LEGAL OPINION OF WARDEN: A NETWORK FORENSICS TOOL Version 1.0 Rod Yazdan Newton McCollum Jennifer Ockerman, PhD Prepared for: r I I Nation~/ Institute Nl.I of Justice STRENGTHEN SCIENCE. ADVANCE JUSTICE. Prepared by: The Johns Hopkins University Applied Physics Laboratory 11100 Johns Hopkins Rd. Laurel, MD 20723-6099 Task No.: FGSGJ Contract No.: 2013-MU-CX-K111/115912 This project was supported by Award No. 2013-MU-CX-K111, awarded by the National Institute of Justice, Office of Justice Programs, U.S. Department of Justice.
    [Show full text]
  • 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]
  • Linux Tutorial Last Updated: September 29 2021 for Windows Users
    VLAAMS SUPERCOMPUTER Innovative Computing CENTRUM for A Smarter Flanders Linux Tutorial Last updated: September 29 2021 For Windows Users Authors: Jasper Devreker (UGent), Ewan Higgs (UGent), Kenneth Hoste (UGent) Acknowledgement: VSCentrum.be Audience: This document is a hands-on guide for using the Linux command line in the context of the UGent HPC infrastructure. The command line (sometimes called ’shell’) can seems daunting at first, but with a little understanding can be very easy to use. Everything you do startsatthe prompt. Here you have the liberty to type in any commands you want. Soon, you will be able to move past the limited point and click interface and express interesting ideas to the computer using the shell. Gaining an understanding of the fundamentals of Linux will help accelerate your research using the HPC infrastructure. You will learn about commands, managing files, and some scripting basics. Notification: In$ commands this tutorial specific commands are separated from the accompanying text: These should be entered by the reader at a command line in a terminal on the UGent-HPC. They appear in all exercises preceded by a $ and printed in bold. You’ll find those actions ina grey frame. Button are menus, buttons or drop down boxes to be pressed or selected. “Directory” is the notation for directories (called “folders” in Windows terminology) or specific files. (e.g., “/user/home/gent/vsc400/vsc40000”) “Text” Is the notation for text to be entered. Tip: A “Tip” paragraph is used for remarks or tips. They can also be downloaded from the VSC website at https://www.vscentrum.be.
    [Show full text]
  • Checkpointing Under Linux with Berkeley Lab Checkpoint/Restart
    N1GE6 Checkpointing and Berkeley Lab Checkpoint/Restart Liang PENG Lip Kian NG N1GE6 Checkpointing and Berkeley Lab Checkpoint/Restart Liang PENG Lip Kian NG APSTC-TB-2004-005 Abstract: N1GE6, formerly known as Sun Grid Engine, is widely used in HPTC environment for efficient utilization of compute resources. As applications in such environment are generally compute intensive, fault tolerance is required to minimize the impact of hardware failure. N1GE6 has several fault tolerance features and in this report, the focus will be on the checkpointing support and the integration of Berkeley Lab Checkpoint/Restart will be used as an example. Keywords: checkpoint, Grid Engine, blcr Email Address: [email protected] [email protected] Revision History Version Date Comments 1.1 Jul 14, 2004 1.2 Dec 28, 2004 Feedback from Reuti (reuti__at__staff.uni-marburg.de) • Transparent interface is user-level (Table 1). • Update to state diagram (Illustration 2). N1GE6 Checkpointing and Berkeley Lab Checkpoint/Restart Liang PENG Lip Kian NG Asia Pacific Science and Technology Center Sun Microsystems Pte Ltd, Singapore Introduction Checkpointing is the process of writing out the state information of a running application to physical storage periodically. With this feature, an application will be able to restart from the last checkpointed state instead of from the beginning which would have been computationally expensive in HPTC environment. In general, checkpointing tools can be classified into 2 different classes: • Kernel-level – Such tools are built into the kernel of the operating system. During a checkpoint, the entire process space (which tends to be huge) is written to physical storage.
    [Show full text]
  • Pingdirectory Administration Guide Version
    Release 7.3.0.3 Server Administration Guide PingDirectory | Contents | ii Contents PingDirectory™ Product Documentation................................................ 20 Overview of the Server............................................................................. 20 Server Features.................................................................................................................................20 Administration Framework.................................................................................................................21 Server Tools Location....................................................................................................................... 22 Preparing Your Environment....................................................................22 Before You Begin.............................................................................................................................. 22 System requirements..............................................................................................................22 Installing Java......................................................................................................................... 23 Preparing the Operating System (Linux).......................................................................................... 24 Configuring the File Descriptor Limits.................................................................................... 24 File System Tuning.................................................................................................................25
    [Show full text]
  • Linux Performance Tools
    Linux Performance Tools Brendan Gregg Senior Performance Architect Performance Engineering Team [email protected] @brendangregg This Tutorial • A tour of many Linux performance tools – To show you what can be done – With guidance for how to do it • This includes objectives, discussion, live demos – See the video of this tutorial Observability Benchmarking Tuning Stac Tuning • Massive AWS EC2 Linux cloud – 10s of thousands of cloud instances • FreeBSD for content delivery – ~33% of US Internet traffic at night • Over 50M subscribers – Recently launched in ANZ • Use Linux server tools as needed – After cloud monitoring (Atlas, etc.) and instance monitoring (Vector) tools Agenda • Methodologies • Tools • Tool Types: – Observability – Benchmarking – Tuning – Static • Profiling • Tracing Methodologies Methodologies • Objectives: – Recognize the Streetlight Anti-Method – Perform the Workload Characterization Method – Perform the USE Method – Learn how to start with the questions, before using tools – Be aware of other methodologies My system is slow… DEMO & DISCUSSION Methodologies • There are dozens of performance tools for Linux – Packages: sysstat, procps, coreutils, … – Commercial products • Methodologies can provide guidance for choosing and using tools effectively • A starting point, a process, and an ending point An#-Methodologies • The lack of a deliberate methodology… Street Light An<-Method 1. Pick observability tools that are: – Familiar – Found on the Internet – Found at random 2. Run tools 3. Look for obvious issues Drunk Man An<-Method • Tune things at random until the problem goes away Blame Someone Else An<-Method 1. Find a system or environment component you are not responsible for 2. Hypothesize that the issue is with that component 3. Redirect the issue to the responsible team 4.
    [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]
  • Windows Operations Agent User Guide
    Windows Operations Agent User Guide 1.6 VMC-WAD VISUAL Message Center Windows Operations Agent User Guide The software described in this book is furnished under a license agreement and may be used only in accordance with the terms of the agreement. Copyright Notice Copyright © 2013 Tango/04 All rights reserved. Document date: August 2012 Document version: 2.31 Product version: 1.6 No part of this publication may be reproduced, transmitted, transcribed, stored in a retrieval system, or translated into any language or computer language, in any form or by any means, electronic mechani- cal, magnetic, optical, chemical, manual, or otherwise, without the prior written permission of Tango/04. Trademarks Any references to trademarked product names are owned by their respective companies. Technical Support For technical support visit our web site at www.tango04.com. Tango/04 Computing Group S.L. Avda. Meridiana 358, 5 A-B Barcelona, 08027 Spain Tel: +34 93 274 0051 Table of Contents Table of Contents Table of Contents.............................................................................. iii How to Use this Guide.........................................................................x Chapter 1 Introduction ......................................................................................1 1.1. What You Will Find in this User Guide............................................................2 Chapter 2 Configuration ....................................................................................3 2.1. Monitor Configuration......................................................................................3
    [Show full text]
  • Making Processes
    Making Processes • Topics • Process creation from the user level: • fork, execvp, wait, waitpid • Learning Objectives: • Explain how processes are created • Create new processes, synchronize with them, and communicate exit codes back to the forking process. • Start building a simple shell. 11/8/16 CS61 Fall 2016 1 Recall how we create processes: fork #include <unistd.h> pid_t ret_pid; ret_pid = fork(); switch (ret_pid){ case 0: /* I am the child. */ break; case -1: /* Something bad happened. */ break; default: /* * I am the parent and my child’s * pid is ret_pid. */ break; } 11/8/16 CS61 Fall 2016 2 But what good are two identical processes? • So fork let us create a new process, but it’s identical to the original. That might not be very handy. • Enter exec (and friends): The exec family of functions replaces the current process image with a new process image. • exec is the original/traditional API • execve is the modern day (more efficient) implementation. • There are a pile of functions, all of which ultimately invoke execve; we will focus on execvp (which is recommended for Assignment 5). • If execvp returns, then it was unsuccessful and will return -1 and set errno. • If successful, execvp does not return, because it is off and running as a new process. • Arguments: • file: Name of a file to be executed • args: Null-terminated argument vector; the first entry of which is (by convention) the file name associated with the file being executed. 11/8/16 CS61 Fall 2016 3 Programming with Exec #include <unistd.h> #include <errno.h> #include <stdio.h> pid_t ret_pid; ret_pid = fork(); switch (ret_pid){ case 0: /* I am the child.
    [Show full text]
  • Nxadmin CLI Reference Guide Unity Iv Contents
    HYPER-UNIFIED STORAGE nxadmin Command Line Interface Reference Guide NEXSAN | 325 E. Hillcrest Drive, Suite #150 | Thousand Oaks, CA 91360 USA Printed Thursday, July 26, 2018 | www.nexsan.com Copyright © 2010—2018 Nexsan Technologies, Inc. All rights reserved. Trademarks Nexsan® is a trademark or registered trademark of Nexsan Technologies, Inc. The Nexsan logo is a registered trademark of Nexsan Technologies, Inc. All other trademarks and registered trademarks are the property of their respective owners. Patents This product is protected by one or more of the following patents, and other pending patent applications worldwide: United States patents US8,191,841, US8,120,922; United Kingdom patents GB2466535B, GB2467622B, GB2467404B, GB2296798B, GB2297636B About this document Unauthorized use, duplication, or modification of this document in whole or in part without the written consent of Nexsan Corporation is strictly prohibited. Nexsan Technologies, Inc. reserves the right to make changes to this manual, as well as the equipment and software described in this manual, at any time without notice. This manual may contain links to web sites that were current at the time of publication, but have since been moved or become inactive. It may also contain links to sites owned and operated by third parties. Nexsan is not responsible for the content of any such third-party site. Contents Contents Contents iii Chapter 1: Accessing the nxadmin and nxcmd CLIs 15 Connecting to the Unity Storage System using SSH 15 Prerequisite 15 Connecting to the Unity
    [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]