Need to monitor Linux server performance? Try these
built-in command and a few add-on tools. Most Linux distributions are equipped
with tons of monitoring. These tools provide metrics which can be used to get
information about system activities. You can use these tools to find the
possible causes of a performance problem. The commands discussed below are some
of the most basic commands when it comes to system analysis and debugging
server
Monitoring the system:
pstree | Processes and parent-child relationships | |||
top | Show top processes | |||
iostat | Report CPU statistics and input/output statistics for devices and partitions. | |||
ps -auxw | process status | |||
uname -a | print system information | |||
cat /proc/version | Display Linux kernel version in use. | |||
cat /etc/redhat-release | Display Red Hat Linux Release. (also /etc/issue) | |||
uptime | Tell how long the system has been running. Also number of users and system's load average. | |||
w | Show who is logged on and what they are doing. | |||
/sbin/lsmod | List all currently loaded kernel
modules. Same as cat /proc/modules | |||
/sbin/runlevel | Displays the system's current runlevel. | |||
hostname | Displays/changes the system's node name. (Must also manually change hostname setting in /etc/sysconfig/network. Command will change entry in /etc/hosts) | |||
service | Red Hat/Fedora command to display
status of system services. Example: service --status-all Help: service --help |
Process Management:
- pstree -p
OR - ps -auxw
OR - top
- kill <process-id-number>
- killall <command-name>
Memory Usage:
vmstat | Monitor virtual memory |
free | Display amount of free and used memory in the system. (Also: cat /proc/meminfo) |
pamp | Display/examine memory map and libraries (so). Usage: pmap pid |
top | Show top processes |
sar -B | Show statistics on page swapping. |
time -v date | Show system page size, page faults, etc of a process during execution. Note you must fully qualify the command as "/usr/bin/time" to avoid using the bash shell command "time". |
cat /proc/sys/vm/freepages | Display virtual memory "free
pages". One may increase/decrease this limit: echo 300 400 500 > /proc/sys/vm/freepages |
cat /proc/meminfo | Show memory size and usage. |
Filesystems and Storage
Devices:
df -k | report filesystem disk space usage. (-k reports in Kbytes) | |||||
du -sh | Calculates file space usage for a given directory. (and everything under it) (-s option summarizes) | |||||
mount | Displays all mounted devices, their mount point, filesystem, and access. Used with command line arguments to mount file system. | |||||
cat /proc/filesystems | Display filesystems currently in use. | |||||
cat /proc/mounts | Display mounted filesystems currently in use. | |||||
showmount | Displays mount info for NFS filesystems. | |||||
cat /proc/swaps | Displays swap partition(s) size, type and quantity used. | |||||
cat /proc/ide/hda/any-file | Displays disk information held by kernel. |
- cfdisk - Curses based disk partition table manipulator. (very nice)
- fdisk- Manipulate/configure the partition table.
- sfdisk - Manipulate/configure the partition table.
- fsck - Manipulate/configure the partition table.
User Info:
who | Displays currently logged in users.
Use who -uH for idle time and terminal info. |
w | Displays currently logged in users and processes they are running. |
whoami | Displays user id. |
groups | Display groups you are part
of. Use groups user-id to display groups for a given user. |
set | Display all environment variables in your current environment. |
id | Display user and all group ids.
Use id user-id to display info for another user id. |
last | Listing of most recent logins by users. Show
where from, date and time of login (ftp, ssh, ...) Also see lastlog
command. Show last 100 logins: last -100 |
history | Shell command to display previously entered commands. |
No comments:
Post a Comment