[nycbug-talk] Advanced UNIX Basics Management

Isaac Levy isaac at diversaform.com
Wed Sep 23 12:47:12 EDT 2009


Hi All,

Much like the 'Tips-And-Tricks' thread a few weeks back:
At work, I'm charged with giving a talk to Developers and DBA's on the  
following topic:

   "UNIX Process, Memory, and Disk- Userland Monitoring Tools for Non- 
UNIX developers"

My company is a Java shop, with plenty of Ruby, Python, and loads of  
shell scripts running around- in BSD and Linux systems- so this talk  
is all about trying to get everyone on the same page with 'the classic  
basics'.

--
With that, I thought I'd hit list to see what folks would have any  
input?  What am I missing?

The high-level outline is below, any comments/criticism is welcome,  
I'm looking for stuff I've missed-

Best,
.ike



--
Each section below is split into a 'read whatever is happening' part,  
and 'do something with whatever is happening' part- most devs' tasks  
at my company just need to have visibility into things like what part  
of their code is eating the system, basic issues.

I am explicitly *not* looking for good 3rd party tools, (pstree, for  
example)- I am looking to cover the basics of what's just expected to  
be there on our typical stock UNIX systems- (FreeBSD and OpenBSD, and   
CentOS Linux here, to be precise).

I'm also not really looking for DTrace type tools, that's a whole  
exploration on it's own- especially when it comes to apps which aren't  
written in C.


##############################
- Userland/Kernel Structure Basics (2 minute spiel)
- man(1) is your friend, so is dmesg(8)

- Processes
   - stats/info facilities
     + using procfs(5)
     + ps(1) (flags and some handy awk(1) parsing)
     + top(1) (briefly, everyone knows top...)
   - management tools
     + kill(1), killall(1) (flags!)
     + nice(1), renice(8)

- Memory
   - stats/info facilities
     + ps(1) (flags and some handy awk parsing)
     + top(1) (briefly, everyone knows top...)
     + swapinfo(8)
   - management tools
     - swapon(8), swapoff(8)


- Disk
   - stats/info facilities
     + iostat(8)
     + df(1) and du(1)
     + lsof(8) (non-stock on many UNIX systems, but worth mention?)
     + top(1) disk i/o tricks
   - management tools
     + disk mount(8) basics
     + nfs, living with it basics
   - advanced but very useful for developers:
     + memory filesystems (creating, using)
       - disk-backed memory filesystems

--
Bonus Networking section, perhaps,

- Network
   - UNIX stats/info facilities
     + ifconfig(8)
     + netstat(1)
     + tcpdump(1)
   - UNIX management tools
     + ifconfig(8)
     + netstat(1)

##############################






More information about the talk mailing list