Tag Archive: Linux

10. Tweak Your BIOS

Top 10 Ways to Speed Up Your Computer's Boot TimeWhen you first set up your computer, your BIOS is set up to make things a bit more convenient for you, but once you’re all set up, those things can be disabled. If you hold the DEL key when you start up your computer (or whatever key your BIOS tells you to enter setup), you can turn on the “Quick Boot” option and move your hard disk to the top of the boot priority list. The Quick Boot setting will turn off the tests your computer runs when it first turns on, and the boot priority tweak will tell your computer not to look for CDs, thumb drives, or other media when it first starts, which will get you booted into your OS quicker. If you ever need to boot from CD though, you’ll have to go back into the BIOS and change this again before you do.

9. Clean Out Programs that Launch at Startup

Top 10 Ways to Speed Up Your Computer's Boot TimeOne of the most tried and true ways to speed up your boot process is to keep unnecessary programs from starting up with your computer. You can do this by runningmsconfig from the Start Menu‘s search box, and going to the Startup tab. This applications list will tell you what each of those applications does, so you know which ones you can disable and which ones you don’t want to. Previously mentioned Soluto is also a fantastic way to clean up these programs, and these days it’s got a bunch of other handy features that make it worth a download.

8. Delay Windows Services That Run at Startup

Top 10 Ways to Speed Up Your Computer's Boot TimeMany people argue that disabling Services from msconfig will also speed up your boot time, but we’ve found that this is more problematic than anything. However, you can delay certain startup services so that your computer boots quickly and then worries about them later—after all, you don’t need all those services the minute you start up your machine.

7. Change Your Boot Menu‘s Timeout Values

Top 10 Ways to Speed Up Your Computer's Boot TimeIf you’re dual-booting your machine, then your boot menu probably has a “timeout value”, meaning the amount of time it waits for you to make a selection before it just boots into the default OS. On Windows, this timeout value is often 30 seconds, which is a long time to wait if you aren’t looking directly at your screen. To change this timeout value, head to msconfig and click on the BOOT.INI tab, and change the number in the timeout box to something lower. If you’re dual-booting with Linux, you’re probably running the GRUB boot menu, and you can change the timeout on that too.

6. Disable Unused Hardware

Top 10 Ways to Speed Up Your Computer's Boot TimeYour computer loads a lot of drivers when it first starts up, some of which you might not even use. Head into the Device Manager from the Start Menu’s search box, and look for anything you aren’t using—Bluetooth controllers, modems, and virtual Wi-Fi adapters are common culprits. Right-click on the entry you want to disable and hit “Disable”. Remember to only do this with things you don’t actually use—if you use Wireless Hosted Networks, you’ll need to keep those virtual Wi-Fi adapters enabled. It’s also worth mentioning here that keeping all your drivers up to date will help this portion of the startup time, too (which you can do with the help of a program like previously mentioned Device Doctor).

5. Keep Your Antivirus Running and Up to Date

Top 10 Ways to Speed Up Your Computer's Boot TimeThis should go without saying, but we’ll say it anyway: install some antivirus software, keep it up to date, and run a regular scan. This is more of a preventative measure than an actual boot-speeding tip, but if you everdo get malware, it’s sure to slow your computer’s boot time. With a good antivirus around like Microsoft Security Essentials, you’ll be more protected against that happening. Don’t like MSE? There are somegreat ones out there too, so there’s no reason not to have one around.

4. Remove Unnecessary Fonts

Top 10 Ways to Speed Up Your Computer's Boot TimeSince the dawn of time, Windows has loaded fonts at startup and slowed down the boot time. This is less of a problem than it used to be, but it can still slow you down a bit. Windows 7 loads over 200 fonts at startup; even more if you’ve installed Microsoft Office. Chances are, you use very few of those fonts, so you can hide them to speed up that process. In Windows 7, open up the Fonts folder from the Start Menu’s search box, and check off all the fonts you don’t need. Then click the “Hide” button in the toolbar. This way, if you ever want them, you can bring them back, but Windows won’t load them at startup. Note that just removing a few fonts probably isn’t going to make a noticeable difference—you’ll probably need to get rid of a few hundred. That said, you might have hundreds more fonts installed than you realized, so that isn’t as ridiculous as it sounds.

3. Upgrade Your RAM

Top 10 Ways to Speed Up Your Computer's Boot TimeInstalling more RAM has always been an effective way of speeding up your computer, and that hasn’t changed. RAM is pretty cheap these days, so if you’re running low, there’s no reason not to stock up and make your computer run a little smoother. We’ve gone over how to replace it in both a desktopand a laptop, and even for the inexperienced, it’s a pretty simple procedure.

2. Give Your Computer a Static IP

Top 10 Ways to Speed Up Your Computer's Boot TimeWhen you first start up your computer, it spends a significant amount of time asking the network for an IP address. You can get rid of this process altogether by giving your computer a static IP address that never changes. Not only does this make your network easier to manage (since each computer will always have the same IP address), but it can shave a bit more time off your startup. Here’s how to do it in different versions of Windows.

1. Install a Solid State Drive

Top 10 Ways to Speed Up Your Computer's Boot TimeThese days, your hard drive is probably the biggest bottleneck in your machine. One of the best upgrades you can make to your computer is to install a solid state drive, which has super-fast read times that can speed up your startup considerably. They’re certainly not a cheap upgrade, nor are they without their own maintenance requirements, but if you want to speed up your computer and its boot time, you can’t go wrong by installing an SSD. The difference will be shocking.

Again, these aren’t the only ways to shorten your computer’s boot time, but they are some of the most well-known, trusted methods that we’ve found.


Linux is a great operating system and more often than not, it’s the installation of Linux that is the matter of discussion.

For a change, I will be talking about how touninstall Linux Ubuntu (or other operating systems) from a dual boot windows pc, and still being able to boot into other OS without much work. So let’s get started right away.

Backup your Linux files

It pops up everytime, but backup really is very important. If you have been using your Linux system for some time, chances are you would have created files you wouldn’t want to loose. In such a case, you can boot into Linux, backup your files (check out your Home directory) on an external device or onto a Windows partition.

Alternatively if you somehow managed to mess up and can’t boot into Linux, you can use ext2 IFS which allows you access to your Linux paritions. It can only read ext2 and ext3 filesystems though. If you are using other filesystems, you would have to look around a bit for a similar application. In any case, you can always boot from a Linux live CD to backup files if everything else fails.

Delete Linux Partitions

Next step: delete every Linux partition. That would include everything – boot, swap, home, whatever way you set up your system, it is time to delete all Linux partitions. There are a couple of ways to achieve this, easiest being from within Windows’ Computer Management. You need to:

how to uninstall ubuntu from dual boot windows pc

  • Log in to an account with administrative privileges.
  • Right click on My Computer, click ‘Manage’.
  • Choose ‘Disk Management’ listed under ‘Storage’ and you will see all of your partitions listed there.

how to uninstall ubuntu from dual boot windows pc

Next, you need to identify Linux partitions. The Linux partitions generally don’t have a file system listed with them if Windows doesn’t recognize it, so this can serve as a clue. Other ways can be identifying by size or partition number. You can use partition managers, these are generally better at identifying filesystems. Go ahead, delete the partitions, just make sure you delete the correct ones. Linux is gone and so is GRUB, which allowed you to choose operating system to use at boot time. So currently, you cannot boot into any other operating system, without some help. We are going to fix that soon.

Restore MBR

As we noted, GRUB is gone and so is the ability to boot into Windows. You would now need to boot from the Windows CD/DVD to restore the Master Boot Record. You can also use other Live CDs like one of my absolute favorites and highly recommended HBCD just in case you don’t have Windows installation media handy. Here are the steps:

  • Boot from Windows CD/DVD and choose “Repair” when it shows up.

uninstall ubuntu from dual boot pc

  • Choose command prompt on the resulting screen and run the following two commands:
    • bootrec /fixmbr
    • bootrec /fixboot

XP users need to run the recovery console from Windows XP CD and then type fixmbr when at the command prompt.

Reclaim free space

Restart now, remove the CD and you should be able to boot into your Windows installation. Once there, you should go ahead and reclaim the unpartitioned free space which was previously occupied by Linux. Doing so is simple and straight forward:

  • Fire up Disk Management as before.
  • Right-click on the unparitioned space, choose new partition or new logical drive.
  • Specify the size and other options according to your needs and you are done.

The free space should now be accessible from My Computer like any other partition. Alternatively, you can create multiple partitions from the free space or resize existing partitions to suit your needs.You can use utilities like GPartedEasues Partition Master or any one of the many partition managers on HBCD to perform such advanced tasks easily.

The Fedora Project on Tuesday announced that the next version of its namesake Linux distribution–Fedora 17, also known as “Beefy Miracle”–has now entered beta testing.

fedora“The Beta release is the last important milestone of Fedora 17,” wrote release engineer Dennis Gilmore in the official announcement. “Only critical bug fixes will be pushed as updates leading to the general release of Fedora 17 in May.”

As a beta release, it’s not intended for production purposes, of course. Nevertheless, the Fedora 17 beta can be downloaded for free from the Fedora Project site. The final release of the software is due on May 22.

Six Easy Pieces

It wasn’t all that many months ago that Fedora 16 was released, but this week’s launch of the Fedora 17 beta takes the free and open source operating system several steps further.

Fedora, of course, is the free, community version of Red Hat Enterprise Linux. Here’s a small sampling of some of the features this new version includes.

1. GNOME 3.4

Launched late last month, GNOME 3.4 brings some 41,000 improvements to the table, including new search capabilities in the activities overview, improved themes, and enhancements to the Documents and Contacts applications. A new app, meanwhile, offers easy access to virtual machines.

2. KDE 4.8

Also part of Fedora 17 is an updated version of the alternativeKDE desktop. Specifically, KDE Plasma Workspace 4.8 is offered in this release, including Plasma Desktop and Netbook workspaces, the KDE Applications, and the KDE Platform.

3. A New GIMP

An updated version of GIMP–the free and open source alternative to Adobe’s Photoshop–also stars in Fedora 17. Version 2.8, now included in the software, introduces improvements such as single-window mode, layer groups, and on-canvas editing.

4. An Updated PHP

PHP was updated in this latest Fedora beta release as well, so that the version now included isPHP 5.4, released earlier this year.

5. Under the Hood

Version 3.3 of the Linux kernel powers Fedora 17, complete with improved btrfs and ext4 filesystems, GMA (poulsbo) graphics, Broadcom wireless chipset support, and numerous other bug fixes and enhancements. Firewalld is now the default firewall solution, and in the cloud, OpenStack has been updated to “Essex,” which debuted earlier this month.

6. Developer Tools

Last but not least, Fedora 17 includes a pre-release version of Juno, the iteration of the Eclipse SDK expected in June. Java 7–along with OpenJDK 7–is the default Java runtime and Java build toolset, while GCC 4.7.x is now the primary compiler. Ruby 1.9.3, the latest stable version of the Ruby language, is included in the new release as well, as is an update for Erlang to the R15 release.



If you are new to any of the top 5 tools mentioned here, please read the rest of the article to understand more about them.

Top 5 Best Free Network Monitoring Tool

Fig: Favorite System Monitoring Tool Voting Results

1. Nagios – Network Monitoring Software

Nagios System Monitoring Tools for LinuxNagios won by a huge margin. This is not a suprise to lot of people, as Nagios is hands-down the best monitoring tool.  As you already know, I love Nagios and have been using it for a long time. I have also written several tutorials on Nagios (and many more to come).

Nagios Core 3 eBook is the only guide you’ll ever need to monitor everything, be proactive, and sleep well.

2. Cacti – Network Monitoring Software

Cacti Network Monitoring Tool for UnixCacti uses RRDtool for the network graphing solution. Using Caci you can monitor and graph – CPU Load, Network bandwidth utilization, network traffic monitor etc.,

Cacti also supports plugin architecture. Some admins like the powerful graphing feature provided by Cacti, they use both Nagios and Cacti in their environment as the network monitoring tools.

3. Top (and other top variations)

Unix top, ntop command for Network Monitoring

  • Top Command – Few of you have mentioned top command as your favorite monitoring tool :-)
  • ntop (Network Top) – Ntop is a free network monitoring software. ntop displays network usage information in a similar fashion to top command output. You can also create HTML output file (dump) of the network status using ntop.  Apart from the command line, you can also launch the web version of the ntop once you’ve started the ntopd service and visit http://{ip-address}:3000 from browser.
  • htop (interactive process viewer for Linux) – htop is similar to top command with few additional features. The main difference is that you can use mouse to interact with the htop command output.

4. Zabbix

Zabbix Open Source Infrastructure Monitoring Solution for Unix PlatformsZabbiz is an open source monitoring solution with a commercial support provided by a company – Zabbix SIA, who primarily develops the software.  Zabbix requires a database to store the monitoring data. You can choose any DB of your choice – MySQL, PostgreSQL, Oracle, or SQLite.

Zabbix has the following three main modules:

  • Server (written in C)
  • Agents (written in C)
  • Frontend (PHP and Javascript)

Additional information about Zabbix:

5. Munin

Munin Network Badwidth Monitoring Platform Using PluginsSimilar to Cacti, Munin uses RRDTool to present the output in a pretty graph via web interface. The primary emphasis of Munin is on the plug and play architecture for it’s plugin. There are lot of plugins available for Munin, which will just work out-of-the box without lot of tweaking.

All  these data are based on the survey conducted from some Linux guys

  1. Disk to disk backup using dd command: dd is a powerful UNIX utility, which is used by the Linux kernel makefiles to make boot images. It can also be used to copy data. This article explains how to backup entire hard disk and create an image of a hard disk using dd command.
  2. 15 rsync command examples: Every sysadmin should master the usage of rsync. rsync utility is used to synchronize the files and directories from one location to another. First time, rsync replicates the whole content between the source and destination directories. Next time, rsync transfers only the changed blocks or bytes to the destination location, which makes the transfer really fast.
  3. Three sysadmin rules: If you are a sysadmin, you can’t (and shouldn’t) break these three sysadmin rules.
  4. User and group disk quota: This article explains how to setup user and group quote with soft limit, hard limit and grace period. For example, if you specify 2GB as hard limit, user will not be able to create new files after 2GB.
  5. Troubleshoot using dmesg: Using dmesg you can view boot up messages that displays information about the hardware devices that the kernel detects during boot process. This can be helpful during troubleshooting process.
  6. RPM package management examples: 15 examples provided in this article explains everything you need to know about managing RPM packages on redhat based system (including CentOS).
  7. 10 netstat examples: Netstat command displays various network related information such as network connections, routing tables, interface statistics, masquerade connections, multicast memberships etc.,
  8. Manage packages using apt-* commands: These 13 practical examples explains how to manage packages using apt-get, apt-cache, apt-file and dpkg commands.
  9. Modprobe command examples: modprobe utility is used to add loadable modules to the Linux kernel. You can also view and remove modules using modprobe command.
  10. Ethtool examples: Ethtool utility is used to view and change the ethernet device parameters. These examples will explain how you can manipulate your ethernet NIC card using ethtool.
  11. NFS mount using exportfs: This is a linux beginners guide to NFS mount using exportfs. This explains how to export a file system to a remote machine and mount it both temporarily and permanently.
  12. Change timezone: Depending on your Linux distribution, use one of the methods explained in this article to change the timezone on your system.
  13. Install phpMyAdmin: phpMyAdmin is a web-based tool written in PHP to manage the MySQL database. Apart from viewing the tables (and other db objects), you can perform lot of DBA functions through the web based interface. You can also execute any SQL query from the UI.
  14. Setup squid to control internet access: Squid is a proxy caching server. You can use squid to control internet access at work. This guide will give a jump-start on how to setup squid on Linux to restrict internet access in an network.
  15. Add new swap space: Use dd, mkswap and swapon commands to add swap space. You can either use a dedicated hard drive partition to add new swap space, or create a swap file on an existing filesystem and use it as swap space.
  16. Install and configure snort: Snort is a free lightweight network intrusion detection system for both UNIX and Windows. This article explains how to install snort from source, write rules, and perform basic testing.
  17. Register RHEL/OEL linux to support: If you have purchased support from Oracle for your Linux, you can register to oracle support network (ULN) using up2date as explained here.
  18. tftpboot setup: You can install Linux from network using PXE by installing and configuring tftpboot server as explained here.
  19. Delete all iptables rules: When you are starting to setup iptables, you might want to delete (flush) all the existing iptables as shown here.
  20. Disable ping replies: Someone can flood the network with ping -f. If ping reply is disabled as explained here we can avoid this flooding.
  21. Block ip address using fail2ban: Fail2ban is a intrusion preventon framework that scans log files for various services ( SSH, FTP, SMTP, Apache, etc., ) and bans the IP that makes too many password failures. It also updates iptles firewall rules to reject these ip addresses.
  22. Package management using dpkg: On debian, you can install or remove deb packages using dpkg utility.
  23. Alfresco content management system: Alfresco is the best open source content management system. Everything you need to know to install and configure Alfresco is explained here.
  24. Bugzilla bug tracking system: Bugzilla is the best open source bug tracking system. Everything you need to know to install and configure Bugzilla is explained here.
  25. Rpm, deb, dpot and msi packages: This article explains how to view and extract files from various package types used by different Linux / UNIX distributions.
  26. Backup using rsnapshot: You can backup either a local host or remote host using rsnapshot rsync utility. rsnapshot uses the combination of rsync and hard links to maintain full-backup and incremental backups. Once you’ve setup and configured rsnapshot, there is absolutely no maintenance involved in it. rsnapshot will automatically take care of deleting and rotating the old backups.
  27. Create Linux user: This article explains how to create users with default configuration, create users with custom configuration, create users interactively, and creating users in bulk.
  28. Mount and view ISO file: ISO files are typically used to distribute the operating system. Most of the linux operating system that you download will be on ISO format. This explains how to view and mount any ISO file both as regular use and as root user.
  29. Manage password expiration and aging: Linux chage command can be used to perform several practical password aging activities including how-to force users to change their password.
  30. ifconfig examples: Interface configurator command ifconfig is used to initialize the network interface and to enable or disable the interfaces as shown in these 7 examples.
  31. Oracle db startup an sthudown: Every sysadmin should know some basic DBA operations. This explains how to shutdown and start the oracle database.
  32. PostgreSQL install and configure: Similar to mySQL, postgreSQL is very famous and feature packed free and open source database. This is a jumpstart guide to install and configure postgresql from source on Linux.
  33. Magic SysRq key: Have you wondered what the SysRq key on your keyboard does. Here is one use for it. You can safely reboot Linux using the magic SysRq key as explained here.
  34. Wakeonlan Tutorial: Using Wakeonlan WOL, you can turn on the remote servers where you don’t have physical access to press the power button.
  35. List hardware spec using lshw: ls+hw = lshw, which lists the hardware specs of your system.
  36. View hardware spec using dmidecode: dmidecode command reads the system DMI table to display hardware and BIOS information of the server. Apart from getting current configuration of the system, you can also get information about maximum supported configuration of the system using dmidecode. For example, dmidecode gives both the current RAM on the system and the maximum RAM supported by the system.
  37. Use the support effectively: Companies spend lot of cash on support mainly for two reasons: 1) To get help from vendors to fix critical production issues 2) To keep up-to-date with the latest version of the software and security patches released by the vendors. In this article, I’ve given 10 practical tips for DBAs, sysadmins and developers to use their hardware and software support effectively.
  38. Install/Upgrade LAMP using Yum: Installing LAMP stack using yum is a good option for beginners who don’t feel comfortable installing from source. Also, Installing LAMP stack using yum is a good choice, if you want to keep things simple and just use the default configuration.
  39. Template to track your hardware assests: If you are managing more than one equipment in your organization, it is very important to document and track ALL information about the servers effectively. In this article, I have listed 36 attributes that needs to be tracked for your equipments, with an explanation on why it needs to be tracked. I have also provided a spreadsheet template with these fields that will give you a jumpstart.
  40. Disable SELinux: If you don’t understand how SELinux works and the fundamental details on how to configure it, keeping it enabled will cause lot of issues. Until you understand the implementation details of SELinux you may want to disable it to avoid some unnecessary issues as explained here.
  41. Install PHP5 from source: This is a step-by-step guide to install PHP5 from source on UNIX environment.
  42. Install MySQL from source: This is a step-by-step guide to install MySQL from source on UNIX environment.
  43. Launch Linux clients on windows: If you are using SSH client to connect to Linux server from your Windows laptop, sometimes it may be necessary to launch UI application on the remote Linux server, but to display the UI on the windows laptop. Cygwin can be used to install software on Linux from Windows and launch Linux X client software on Windows.
  44. IPCS: IPC allows the processes to communicate with each another. The process can also communicate by having a file accessible to both the processes. Processes can open, and read/write the file, which requires lot of I/O operation that consumes time. This explains different types of IPCS and provides 10 IPCS command examples.
  45. Logical Volume Manager: Using LVM we can create logical partitions that can span across one or more physical hard drives.You can create and manage LVM using vgcreate, lvcreate, and lvextend lvm2 commands as shown here.
  46. 15 Tcpdump examples: tcpdump is a network packet analyzer. tcpdump allows us to save the packets that are captured, so that we can use it for future analysis. The saved file can be viewed by the same tcpdump command. We can also use open source software like wireshark to read the tcpdump pcap files.
  47. Manage partition using fdisk: Using fdisk you can create a maximum of four primary partition, delete an existing partition, or change existing partition. Using fidsk you are allowed to create a maximum of four primary partition, and any number of logical partitions, based on the size of the disk.
  48. VMWare fundamentals: At some point every sysadmin should deal with virtualization. VMWare is a very popular choise to virtualize your server environment. This article will provide the fundamental information for you to get a jumpstart on VMWare.
  49. Rotate the logs automatically: Manging log files is an importat part of sysadmin life. logrotate make it easy by allowing you to setup automatica log rotation based on several configurations. Using logrotate you can also configure it to execute custom shell scripts immediately after log rotation.
  50. Passwordless SSH login setup: Using ssh-keygen and ssh-copy-id you can setup passwordless login to remote Linux server. ssh-keygen creates the public and private keys. ssh-copy-id copies the local-host’s public key to the remote-host’s authorized_keys file.

I’ve compiled 25 performance monitoring and debugging tools that will be helpful when you are working on Linux environment. This list is not comprehensive or authoritative by any means.

However this list has enough tools for you to play around and pick the one that is suitable your specific debugging and monitoring scenario.

1. SAR

Using sar utility you can do two things: 1) Monitor system real time performance (CPU, Memory, I/O, etc) 2) Collect performance data in the background on an on-going basis and do analysis on the historical data to identify bottlenecks.

Sar is part of the sysstat package. The following are some of the things you can do using sar utility.

  • Collective CPU usage
  • Individual CPU statistics
  • Memory used and available
  • Swap space used and available
  • Overall I/O activities of the system
  • Individual device I/O activities
  • Context switch statistics
  • Run queue and load average data
  • Network statistics
  • Report sar data from a specific time
  • and lot more..

The following sar command will display the system CPU statistics 3 times (with 1 second interval).

The following “sar -b” command reports I/O statistics. “1 3″ indicates that the sar -b will be executed for every 1 second for a total of 3 times.

$ sar -b 1 3
Linux 2.6.18-194.el5PAE (dev-db)        03/26/2011      _i686_  (8 CPU)

01:56:28 PM       tps      rtps      wtps   bread/s   bwrtn/s
01:56:29 PM    346.00    264.00     82.00   2208.00    768.00
01:56:30 PM    100.00     36.00     64.00    304.00    816.00
01:56:31 PM    282.83     32.32    250.51    258.59   2537.37
Average:       242.81    111.04    131.77    925.75   1369.90

More SAR examples: How to Install/Configure Sar (sysstat) and 10 Useful Sar Command Examples

2. Tcpdump

tcpdump is a network packet analyzer. Using tcpdump you can capture the packets and analyze it for any performance bottlenecks.

The following tcpdump command example displays captured packets in ASCII.

$ tcpdump -A -i eth0
tcpdump: verbose output suppressed, use -v or -vv for full protocol decode
listening on eth0, link-type EN10MB (Ethernet), capture size 96 bytes
14:34:50.913995 IP valh4.lell.net.ssh > yy.domain.innetbcp.net.11006: P 1457239478:1457239594(116) ack 1561461262 win 63652
14:34:51.423640 IP valh4.lell.net.ssh > yy.domain.innetbcp.net.11006: P 116:232(116) ack 1 win 63652

Using tcpdump you can capture packets based on several custom conditions. For example, capture packets that flow through a particular port, capture tcp communication between two specific hosts, capture packets that belongs to a specific protocol type, etc.

More tcpdump examples: 15 TCPDUMP Command Examples

3. Nagios

Nagios is an open source monitoring solution that can monitor pretty much anything in your IT infrastructure. For example, when a server goes down it can send a notification to your sysadmin team, when a database goes down it can page your DBA team, when the a web server goes down it can notify the appropriate team.

You can also set warning and critical threshold level for various services to help you proactively address the issue. For example, it can notify sysadmin team when a disk partition becomes 80% full, which will give enough time for the sysadmin team to work on adding more space before the issue becomes critical.

Nagios also has a very good user interface from where you can monitor the health of your overall IT infrastructure.

The following are some of the things you can monitor using Nagios:

  • Any hardware (servers, switches, routers, etc)
  • Linux servers and Windows servers
  • Databases (Oracle, MySQL, PostgreSQL, etc)
  • Various services running on your OS (sendmail, nis, nfs, ldap, etc)
  • Web servers
  • Your custom application
  • etc.

More Nagios examples: How to install and configure Nagiosmonitor remote Windows machine, and monitor remote Linux server.

4. Iostat

iostat reports CPU, disk I/O, and NFS statistics. The following are some of iostat command examples.

Iostat without any argument displays information about the CPU usage, and I/O statistics about all the partitions on the system as shown below.

$ iostat
Linux 2.6.32-100.28.5.el6.x86_64 (dev-db)       07/09/2011

avg-cpu:  %user   %nice %system %iowait  %steal   %idle
           5.68    0.00    0.52    2.03    0.00   91.76

Device:            tps   Blk_read/s   Blk_wrtn/s   Blk_read   Blk_wrtn
sda             194.72      1096.66      1598.70 2719068704 3963827344
sda1            178.20       773.45      1329.09 1917686794 3295354888
sda2             16.51       323.19       269.61  801326686  668472456
sdb             371.31       945.97      1073.33 2345452365 2661206408
sdb1            371.31       945.95      1073.33 2345396901 2661206408
sdc             408.03       207.05       972.42  513364213 2411023092
sdc1            408.03       207.03       972.42  513308749 2411023092

By default iostat displays I/O data for all the disks available in the system. To view statistics for a specific device (For example, /dev/sda), use the option -p as shown below.

$ iostat -p sda
Linux 2.6.32-100.28.5.el6.x86_64 (dev-db)       07/09/2011

avg-cpu:  %user   %nice %system %iowait  %steal   %idle
           5.68    0.00    0.52    2.03    0.00   91.76

Device:            tps   Blk_read/s   Blk_wrtn/s   Blk_read   Blk_wrtn
sda             194.69      1096.51      1598.48 2719069928 3963829584
sda2            336.38        27.17        54.00   67365064  133905080
sda1            821.89         0.69       243.53    1720833  603892838

5. Mpstat

mpstat reports processors statistics. The following are some of mpstat command examples.

Option -A, displays all the information that can be displayed by the mpstat command as shown below. This is really equivalent to “mpstat -I ALL -u -P ALL” command.

$ mpstat -A
Linux 2.6.32-100.28.5.el6.x86_64 (dev-db)       07/09/2011      _x86_64_        (4 CPU)

10:26:34 PM  CPU    %usr   %nice    %sys %iowait    %irq   %soft  %steal  %guest   %idle
10:26:34 PM  all    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00   99.99
10:26:34 PM    0    0.01    0.00    0.01    0.01    0.00    0.00    0.00    0.00   99.98
10:26:34 PM    1    0.00    0.00    0.01    0.00    0.00    0.00    0.00    0.00   99.98
10:26:34 PM    2    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00  100.00
10:26:34 PM    3    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00  100.00

10:26:34 PM  CPU    intr/s
10:26:34 PM  all     36.51
10:26:34 PM    0      0.00
10:26:34 PM    1      0.00
10:26:34 PM    2      0.04
10:26:34 PM    3      0.00

10:26:34 PM  CPU     0/s     1/s     8/s     9/s    12/s    14/s    15/s    16/s    19/s    20/s    21/s    33/s   NMI/s   LOC/s   SPU/s   PMI/s   PND/s   RES/s   CAL/s   TLB/s   TRM/s   THR/s   MCE/s   MCP/s   ERR/s   MIS/s
10:26:34 PM    0    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    7.47    0.00    0.00    0.00    0.00    0.02    0.00    0.00    0.00    0.00    0.00    0.00    0.00
10:26:34 PM    1    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    4.90    0.00    0.00    0.00    0.00    0.03    0.00    0.00    0.00    0.00    0.00    0.00    0.00
10:26:34 PM    2    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.04    0.00    0.00    0.00    0.00    0.00    3.32    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00
10:26:34 PM    3    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.

mpstat Option -P ALL, displays all the individual CPUs (or Cores) along with its statistics as shown below.

$ mpstat -P ALL
Linux 2.6.32-100.28.5.el6.x86_64 (dev-db)       07/09/2011      _x86_64_        (4 CPU)

10:28:04 PM  CPU    %usr   %nice    %sys %iowait    %irq   %soft  %steal  %guest   %idle
10:28:04 PM  all    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00   99.99
10:28:04 PM    0    0.01    0.00    0.01    0.01    0.00    0.00    0.00    0.00   99.98
10:28:04 PM    1    0.00    0.00    0.01    0.00    0.00    0.00    0.00    0.00   99.98
10:28:04 PM    2    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00  100.00
10:28:04 PM    3    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00  100.00

6. Vmstat

vmstat reports virtual memory statistics. The following are some of vmstat command examples.

vmstat by default will display the memory usage (including swap) as shown below.

$ vmstat
procs -----------memory---------- ---swap-- -----io---- --system-- -----cpu------
 r  b   swpd   free   buff  cache   si   so    bi    bo   in   cs us sy id wa st
 0  0 305416 260688  29160 2356920    2    2     4     1    0    0  6  1 92  2  0

To execute vmstat every 2 seconds for 10 times, do the following. After executing 10 times, it will stop automatically.
$ vmstat 2 10
procs -----------memory---------- ---swap-- -----io---- --system-- -----cpu-----
 r  b   swpd   free   buff  cache   si   so    bi    bo   in   cs us sy id wa st
 1  0      0 537144 182736 6789320    0    0     0     0    1    1  0  0 100  0  0
 0  0      0 537004 182736 6789320    0    0     0     0   50   32  0  0 100  0  0

iostat and vmstat are part of the sar utility. You should install sysstat package to get iostat and vmstat working.

More examples: 24 iostat, vmstat and mpstat command Examples

7. PS Command

Process is a running instance of a program. Linux is a multitasking operating system, which means that more than one process can be active at once. Use ps command to find out what processes are running on your system.

ps command also give you lot of additional information about the running process which will help you identify any performance bottlenecks on your system.

The following are few ps command examples.

Use -u option to display the process that belongs to a specific username. When you have multiple username, separate them using a comma. The example below displays all the process that are owned by user wwwrun, or postfix.

$ ps -f -u wwwrun,postfix
postfix   7457  7435  0 Mar09 ?        00:00:00 qmgr -l -t fifo -u
wwwrun    7495  7491  0 Mar09 ?        00:00:00 /usr/sbin/httpd2-prefork -f /etc/apache2/httpd.conf
wwwrun    7496  7491  0 Mar09 ?        00:00:00 /usr/sbin/httpd2-prefork -f /etc/apache2/httpd.conf
wwwrun    7497  7491  0 Mar09 ?        00:00:00 /usr/sbin/httpd2-prefork -f /etc/apache2/httpd.conf
wwwrun    7498  7491  0 Mar09 ?        00:00:00 /usr/sbin/httpd2-prefork -f /etc/apache2/httpd.conf
wwwrun    7499  7491  0 Mar09 ?        00:00:00 /usr/sbin/httpd2-prefork -f /etc/apache2/httpd.conf
wwwrun   10078  7491  0 Mar09 ?        00:00:00 /usr/sbin/httpd2-prefork -f /etc/apache2/httpd.conf
wwwrun   10082  7491  0 Mar09 ?        00:00:00 /usr/sbin/httpd2-prefork -f /etc/apache2/httpd.conf
postfix  15677  7435  0 22:23 ?        00:00:00 pickup -l -t fifo -u

The example below display the process Id and commands in a hierarchy. –forest is an argument to ps command which displays ASCII art of process tree. From this tree, we can identify which is the parent process and the child processes it forked in a recursive manner.

$ ps -e -o pid,args --forest
  468  \_ sshd: root@pts/7
  514  |   \_ -bash
17484  \_ sshd: root@pts/11
17513  |   \_ -bash
24004  |       \_ vi ./790310__11117/journal
15513  \_ sshd: root@pts/1
15522  |   \_ -bash
 4280  \_ sshd: root@pts/5
 4302  |   \_ -bash

More ps examples: 7 Practical PS Command Examples for Process Monitoring

8. Free

Free command displays information about the physical (RAM) and swap memory of your system.

In the example below, the total physical memory on this system is 1GB. The values displayed below are in KB.

# free
       total   used    free   shared  buffers  cached
Mem: 1034624   1006696 27928  0       174136   615892
-/+ buffers/cache:     216668      817956
Swap:    2031608       0    2031608

The following example will display the total memory on your system including RAM and Swap.

In the following command:

  • option m displays the values in MB
  • option t displays the “Total” line, which is sum of physical and swap memory values
  • option o is to hide the buffers/cache line from the above example.
# free -mto
                  total       used      free     shared    buffers     cached
Mem:          1010        983         27              0         170           601
Swap:          1983            0    1983
Total:          2994        983     2011

9. TOP

Top command displays all the running process in the system ordered by certain columns. This displays the information real-time.

You can kill a process without existing from top. Once you’ve located a process that needs to be killed, press “k” which will ask for the process id, and signal to send. If you have the privilege to kill that particular PID, it will get killed successfully.

PID to kill: 1309
Kill PID 1309 with signal [15]:
 1309 geek   23   0 2483m 1.7g  27m S    0 21.8  45:31.32 gagent
 1882 geek   25   0 2485m 1.7g  26m S    0 21.7  22:38.97 gagent
 5136 root    16   0 38040  14m 9836 S    0  0.2   0:00.39 nautilus

Use top -u to display a specific user processes only in the top command output.

$ top -u geek

While unix top command is running, press u which will ask for username as shown below.

Which user (blank for all): geek
 1309 geek   23   0 2483m 1.7g  27m S    0 21.8  45:31.32 gagent
 1882 geek   25   0 2485m 1.7g  26m S    0 21.7  22:38.97 gagent

More top examples: 15 Practical Linux Top Command Examples

10. Pmap

pmap command displays the memory map of a given process. You need to pass the pid as an argument to the pmap command.

The following example displays the memory map of the current bash shell. In this example, 5732 is the PID of the bash shell.

$ pmap 5732
5732:   -bash
00393000    104K r-x--  /lib/ld-2.5.so
003b1000   1272K r-x--  /lib/libc-2.5.so
00520000      8K r-x--  /lib/libdl-2.5.so
0053f000     12K r-x--  /lib/libtermcap.so.2.0.8
0084d000     76K r-x--  /lib/libnsl-2.5.so
00c57000     32K r-x--  /lib/libnss_nis-2.5.so
00c8d000     36K r-x--  /lib/libnss_files-2.5.so
b7d6c000   2048K r----  /usr/lib/locale/locale-archive
bfd10000     84K rw---    [ stack ]
 total     4796K

pmap -x gives some additional information about the memory maps.

$  pmap -x 5732
5732:   -bash
Address   Kbytes     RSS    Anon  Locked Mode   Mapping
00393000     104       -       -       - r-x--  ld-2.5.so
003b1000    1272       -       -       - r-x--  libc-2.5.so
00520000       8       -       -       - r-x--  libdl-2.5.so
0053f000      12       -       -       - r-x--  libtermcap.so.2.0.8
0084d000      76       -       -       - r-x--  libnsl-2.5.so
00c57000      32       -       -       - r-x--  libnss_nis-2.5.so
00c8d000      36       -       -       - r-x--  libnss_files-2.5.so
b7d6c000    2048       -       -       - r----  locale-archive
bfd10000      84       -       -       - rw---    [ stack ]
-------- ------- ------- ------- -------
total kB    4796       -       -       -

To display the device information of the process maps use ‘pamp -d pid’.

11. Netstat

Netstat command displays various network related information such as network connections, routing tables, interface statistics, masquerade connections, multicast memberships etc.,

The following are some netstat command examples.

List all ports (both listening and non listening) using netstat -a as shown below.

# netstat -a | more
Active Internet connections (servers and established)
Proto Recv-Q Send-Q Local Address           Foreign Address         State
tcp        0      0 localhost:30037         *:*                     LISTEN
udp        0      0 *:bootpc                *:*                                

Active UNIX domain sockets (servers and established)
Proto RefCnt Flags       Type       State         I-Node   Path
unix  2      [ ACC ]     STREAM     LISTENING     6135     /tmp/.X11-unix/X0
unix  2      [ ACC ]     STREAM     LISTENING     5140     /var/run/acpid.socket

Use the following netstat command to find out on which port a program is running.

# netstat -ap | grep ssh
(Not all processes could be identified, non-owned process info
 will not be shown, you would have to be root to see it all.)
tcp        1      0 dev-db:ssh         CLOSE_WAIT  -
tcp        1      0 dev-db:ssh         CLOSE_WAIT  -

Use the following netstat command to find out which process is using a particular port.

# netstat -an | grep ':80'

More netstat examples: 10 Netstat Command Examples

12. IPTraf

IPTraf is a IP Network Monitoring Software. The following are some of the main features of IPTraf:

  • It is a console based (text-based) utility.
  • This displays IP traffic crossing over your network. This displays TCP flag, packet and byte counts, ICMP, OSPF packet types, etc.
  • Displays extended interface statistics (including IP, TCP, UDP, ICMP, packet size and count, checksum errors, etc.)
  • LAN module discovers hosts automatically and displays their activities
  • Protocol display filters to view selective protocol traffic
  • Advanced Logging features
  • Apart from ethernet interface it also supports FDDI, ISDN, SLIP, PPP, and loopback
  • You can also run the utility in full screen mode. This also has a text-based menu.

More info: IPTraf Home PageIPTraf screenshot.

13. Strace

Strace is used for debugging and troubleshooting the execution of an executable on Linux environment. It displays the system calls used by the process, and the signals received by the process.

Strace monitors the system calls and signals of a specific program. It is helpful when you do not have the source code and would like to debug the execution of a program. strace provides you the execution sequence of a binary from start to end.

Trace a Specific System Calls in an Executable Using Option -e

Be default, strace displays all system calls for the given executable. The following example shows the output of strace for the Linux ls command.

$ strace ls
execve("/bin/ls", ["ls"], [/* 21 vars */]) = 0
brk(0)                                  = 0x8c31000
access("/etc/ld.so.nohwcap", F_OK)      = -1 ENOENT (No such file or directory)
mmap2(NULL, 8192, PROT_READ, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0xb78c7000
access("/etc/ld.so.preload", R_OK)      = -1 ENOENT (No such file or directory)
open("/etc/ld.so.cache", O_RDONLY)      = 3
fstat64(3, {st_mode=S_IFREG|0644, st_size=65354, ...}) = 0

To display only a specific system call, use the strace -e option as shown below.

$ strace -e open ls
open("/etc/ld.so.cache", O_RDONLY)      = 3
open("/lib/libselinux.so.1", O_RDONLY)  = 3
open("/lib/librt.so.1", O_RDONLY)       = 3
open("/lib/libacl.so.1", O_RDONLY)      = 3
open("/lib/libc.so.6", O_RDONLY)        = 3
open("/lib/libdl.so.2", O_RDONLY)       = 3
open("/lib/libpthread.so.0", O_RDONLY)  = 3
open("/lib/libattr.so.1", O_RDONLY)     = 3
open("/proc/filesystems", O_RDONLY|O_LARGEFILE) = 3
open("/usr/lib/locale/locale-archive", O_RDONLY|O_LARGEFILE) = 3

More strace examples: 7 Strace Examples to Debug the Execution of a Program in Linux

14. Lsof

Lsof stands for ls open files, which will list all the open files in the system. The open files include network connection, devices and directories. The output of the lsof command will have the following columns:

  • COMMAND process name.
  • PID process ID
  • USER Username
  • FD file descriptor
  • TYPE node type of the file
  • DEVICE device number
  • SIZE file size
  • NODE node number
  • NAME full path of the file name.

To view all open files of the system, execute the lsof command without any parameter as shown below.

# lsof | more
COMMAND     PID       USER   FD      TYPE     DEVICE      SIZE       NODE NAME
init          1       root  cwd       DIR        8,1      4096          2 /
init          1       root  rtd       DIR        8,1      4096          2 /
init          1       root  txt       REG        8,1     32684     983101 /sbin/init
init          1       root  mem       REG        8,1    106397     166798 /lib/ld-2.3.4.so
init          1       root  mem       REG        8,1   1454802     166799 /lib/tls/libc-2.3.4.so
init          1       root  mem       REG        8,1     53736     163964 /lib/libsepol.so.1
init          1       root  mem       REG        8,1     56328     166811 /lib/libselinux.so.1
init          1       root   10u     FIFO       0,13                  972 /dev/initctl
migration     2       root  cwd       DIR        8,1      4096          2 /

To view open files by a specific user, use lsof -u option to display all the files opened by a specific user.

# lsof -u ramesh
vi      7190 ramesh  txt    REG        8,1   474608   475196 /bin/vi
sshd    7163 ramesh    3u  IPv6   15088263               TCP dev-db:ssh->abc-12-12-12-12.

To list users of a particular file, use lsof as shown below. In this example, it displays all users who are currently using vi.

# lsof /bin/vi
vi      7258  root   txt    REG    8,1 474608 475196 /bin/vi
vi      7300  ramesh txt    REG    8,1 474608 475196 /bin/vi

15. Ntop

Ntop is just like top, but for network traffic. ntop is a network traffic monitor that displays the network usage.

You can also access ntop from browser to get the traffic information and network status.

The following are some the key features of ntop:

  • Display network traffic broken down by protocols
  • Sort the network traffic output based on several criteria
  • Display network traffic statistics
  • Ability to store the network traffic statistics using RRD
  • Identify the identify of the users, and host os
  • Ability to analyze and display IT traffic
  • Ability to work as NetFlow/sFlow collector for routers and switches
  • Displays network traffic statistics similar to RMON
  • Works on Linux, MacOS and Windows

More info: Ntop home page

16. GkrellM

GKrellM stands for GNU Krell Monitors, or GTK Krell Meters. It is GTK+ toolkit based monitoring program, that monitors various sytem resources. The UI is stakable. i.e you can add as many monitoring objects you want one on top of another. Just like any other desktop UI based monitoring tools, it can monitor CPU, memory, file system, network usage, etc. But using plugins you can monitoring external applications.

More info: GkrellM home page

17. w and uptime

While monitoring system performance, w command will hlep to know who is logged on to the system.

$ w
09:35:06 up 21 days, 23:28,  2 users,  load average: 0.00, 0.00, 0.00
USER     TTY      FROM          LOGIN@   IDLE   JCPU   PCPU WHAT
root     tty1     :0            24Oct11  21days 1:05   1:05 /usr/bin/Xorg :0 -nr -verbose
ramesh   pts/0  Mon14    0.00s  15.55s 0.26s sshd: localuser [priv]
john     pts/0  Mon07    0.00s  19.05s 0.20s sshd: localuser [priv]
jason    pts/0  Mon07    0.00s  21.15s 0.16s sshd: localuser [priv]

For each and every user who is logged on, it displays the following info:

  • Username
  • tty info
  • Remote host ip-address
  • Login time of the user
  • How long the user has been idle
  • JCPU and PCUP
  • The command of the current process the user is executing

Line 1 of the w command output is similar to the uptime command output. It displays the following:

  • Current time
  • How long the system has been up and running
  • Total number of users who are currently logged on the system
  • Load average for the last 1, 5 and 15 minutes

If you want only the uptime information, use the uptime command.

$ uptime
 09:35:02 up 106 days, 28 min,  2 users,  load average: 0.08, 0.11, 0.05

Please note that both w and uptime command gets the information from the /var/run/utmp data file.

18. /proc

/proc is a virtual file system. For example, if you do ls -l /proc/stat, you’ll notice that it has a size of 0 bytes, but if you do “cat /proc/stat”, you’ll see some content inside the file.

Do a ls -l /proc, and you’ll see lot of directories with just numbers. These numbers represents the process ids, the files inside this numbered directory corresponds to the process with that particular PID.

The following are the important files located under each numbered directory (for each process):

  • cmdline – command line of the command.
  • environ – environment variables.
  • fd – Contains the file descriptors which is linked to the appropriate files.
  • limits – Contains the information about the specific limits to the process.
  • mounts – mount related information

The following are the important links under each numbered directory (for each process):

  • cwd – Link to current working directory of the process.
  • exe – Link to executable of the process.
  • root – Link to the root directory of the process.

More /proc examples: Explore Linux /proc File System

19. KDE System Guard

This is also called as KSysGuard. On Linux desktops that run KDE, you can use this tool to monitor system resources. Apart from monitoring the local system, this can also monitor remote systems.

If you are running KDE desktop, go to Applications -> System -> System Monitor, which will launch the KSysGuard. You can also type ksysguard from the command line to launch it.

This tool displays the following two tabs:

  • Process Table – Displays all active processes. You can sort, kill, or change priority of the processes from here
  • System Load – Displays graphs for CPU, Memory, and Network usages. These graphs can be customized by right cliking on any of these graphs.

To connect to a remote host and monitor it, click on File menu -> Monitor Remote Machine -> specify the ip-address of the host, the connection method (for example, ssh). This will ask you for the username/password on the remote machine. Once connected, this will display the system usage of the remote machine in the Process Table and System Load tabs.

20. GNOME System Monitor

On Linux desktops that run GNOME, you can use the this tool to monitor processes, system resources, and file systems from a graphical interface. Apart from monitoring, you can also use this UI tool to kill a process, change the priority of a process.

If you are running GNOME desktop, go to System -> Administration -> System Monitor, which will launch the GNOME System Monitor. You can also type gnome-system-monitor from the command line to launch it.

This tool has the following four tabs:

  • System – Displays the system information including Linux distribution version, system resources, and hardware information.
  • Processes – Displays all active processes that can be sorted based on various fields
  • Resources – Displays CPU, memory and network usages
  • File Systems – Displays information about currently mounted file systems

More info: GNOME System Monitor home page

21. Conky

Conky is a system monitor or X. Conky displays information in the UI using what it calls objects. By default there are more than 250 objects that are bundled with conky, which displays various monitoring information (CPU, memory, network, disk, etc.). It supports IMAP, POP3, several audio players.

You can monitor and display any external application by craeting your own objects using scripting. The monitoring information can be displays in various format: Text, graphs, progress bars, etc. This utility is extremly configurable.

More info: Conky screenshots

22. Cacti

Cacti is a PHP based UI frontend for the RRDTool. Cacti stores the data required to generate the graph in a MySQL database.

The following are some high-level features of Cacti:

  • Ability to perform the data gathering and store it in MySQL database (or round robin archives)
  • Several advanced graphing featurs are available (grouping of GPRINT graph items, auto-padding for graphs, manipulate graph data using CDEF math function, all RRDTool graph items are supported)
  • The data source can gather local or remote data for the graph
  • Ability to fully customize Round robin archive (RRA) settings
  • User can define custom scripts to gather data
  • SNMP support (php-snmp, ucd-snmp, or net-snmp) for data gathering
  • Built-in poller helps to execute custom scripts, get SNMP data, update RRD files, etc.
  • Highly flexible graph template features
  • User friendly and customizable graph display options
  • Create different users with various permission sets to access the cacti frontend
  • Granular permission levels can be set for the individual user
  • and lot more..

More info: Cacti home page

23. Vnstat

vnstat is a command line utility that displays and logs network traffic of the interfaces on your systems. This depends on the network statistics provided by the kernel. So, vnstat doesn’t add any additional load to your system for monitoring and logging the network traffic.

vnstat without any argument will give you a quick summary with the following info:

  • The last time when the vnStat datbase located under /var/lib/vnstat/ was updated
  • From when it started collecting the statistics for a specific interface
  • The network statistic data (bytes transmitted, bytes received) for the last two months, and last two days.
# vnstat
Database updated: Sat Oct 15 11:54:00 2011

   eth0 since 10/01/11

          rx:  12.89 MiB      tx:  6.94 MiB      total:  19.82 MiB

                     rx      |     tx      |    total    |   avg. rate
       Sep '11     12.90 MiB |    6.90 MiB |   19.81 MiB |    0.14 kbit/s
       Oct '11     12.89 MiB |    6.94 MiB |   19.82 MiB |    0.15 kbit/s
     estimated        29 MiB |      14 MiB |      43 MiB |

                     rx      |     tx      |    total    |   avg. rate
     yesterday      4.30 MiB |    2.42 MiB |    6.72 MiB |    0.64 kbit/s
         today      2.03 MiB |    1.07 MiB |    3.10 MiB |    0.59 kbit/s
     estimated         4 MiB |       2 MiB |       6 MiB |

Use “vnstat -t” or “vnstat –top10″ to display all time top 10 traffic days.

$ vnstat --top10

 eth0  /  top 10

    #      day          rx      |     tx      |    total    |   avg. rate
    1   10/12/11       4.30 MiB |    2.42 MiB |    6.72 MiB |    0.64 kbit/s
    2   10/11/11       4.07 MiB |    2.17 MiB |    6.24 MiB |    0.59 kbit/s
    3   10/10/11       2.48 MiB |    1.28 MiB |    3.76 MiB |    0.36 kbit/s

More vnstat Examples: How to Monitor and Log Network Traffic using VNStat

24. Htop

htop is a ncurses-based process viewer. This is similar to top, but is more flexible and user friendly. You can interact with the htop using mouse. You can scroll vertically to view the full process list, and scroll horizontally to view the full command line of the process.

htop output consists of three sections 1) header 2) body and 3) footer.

Header displays the following three bars, and few vital system information. You can change any of these from the htop setup menu.

  • CPU Usage: Displays the %used in text at the end of the bar. The bar itself will show different colors. Low-priority in blue, normal in green, kernel in red.
  • Memory Usage
  • Swap Usage

Body displays the list of processes sorted by %CPU usage. Use arrow keys, page up, page down key to scoll the processes.

Footer displays htop menu commands.

More info: HTOP Screenshot and Examples

25. Socket Statistics – SS

ss stands for socket statistics. This displays information that are similar to netstat command.

To display all listening sockets, do ss -l as shown below.

$ ss -l
Recv-Q Send-Q   Local Address:Port     Peer Address:Port
0      100      :::8009                :::*
0      128      :::sunrpc              :::*
0      100      :::webcache            :::*
0      128      :::ssh                 :::*
0      64       :::nrpe                :::*

The following displays only the established connection.

$ ss -o state established
Recv-Q Send-Q   Local Address:Port   Peer Address:Port
0      52    timer:(on,414ms,0)

The following displays socket summary statistics. This displays the total number of sockets broken down by the type.

$ ss -s
Total: 688 (kernel 721)
TCP:   16 (estab 1, closed 0, orphaned 0, synrecv 0, timewait 0/0), ports 11Transport Total     IP        IPv6
*         721       -         -
RAW       0         0         0
UDP       13        10        3
TCP       16        7         9
INET      29        17        12
FRAG      0         0         0


My personal favorite was Ubuntu for desktop (#1 in this list) and Red Hat for servers (#5 in this list).

If you are new to any of the distros listed in the top 5, read the rest of the article to understand little bit more about those distros and find out whether your favorite Linux distribution made it in the top 5.

Linux Distro Review

Fig: Favorite Linux Distribution Voting Results

1. Ubuntu

Ubuntu 8.04 LTS Desktop

Like most of you, Ubuntu is my #1 choice for desktop Linux. I use it both at home and work. Ubuntu is the #1 in the Linux desktop market and some use Ubuntu for the servers also. Ubuntu offers the following three editions.

  • Ubuntu Desktop Edition
  • Ubuntu Server Edition
  • Ubuntu Notebook Remix

Additional Details:

Refer to our Ubuntu Tips and Tricks article series.

2. Debian

Debian 4.0r8, or etch

Debian is also called as Debian GNU/Linux, as most of the basic OS tools comes from the GNU Project. Lot of other famous distributions are based on Debian, which includes our #1 distro Ubuntu and many others — such as Knoppix, Linspire, Damn Small Linux etc.,

Additional Details:

Read more about Debian Distribution at wikipedia.

3. Fedora

Fedora 10 Server Edition

Fedora is sponsored by Red Hat. If you are interested in experimenting with the the leading technologies, you should use fedora, as the release cycle is very short and fedora tends to include the latest technology software/packages in it’s distribution.

Additional Details:

Read more about Fedora Distribution at wikipedia.

4. CentOS

CentOS 5 Linux Distro

If your organization does not want to spend money on purchasing Red Hat support, but still want all the benefits of the red-hat distribution, this is obviously the best choice, as this is totally based on the red-hat enterprise Linux.

As you can imagine the Nort American Enterprise Linux vendor mentioned in the quote below is Red Hat.

From the CentOS website: CentOS 2, 3, and 4 are built from publically available open source SRPMS provided by a prominent North American Enterprise Linux vendor. CentOS is designed for people who need an enterprise class OS without the cost or support of the prominent North American Enterprise Linux vendor.

Additional Details:

Read more about CentOS Distribution at wikipedia

5. Red Hat

Linux Red Hat 4 Enterprise Linux for Server

This is my favorite server distribution.  If an organization doesn’t mind spending dollars on purchasing the red-hat support, this is always my #1 recommendation to any organization who runs mission critical applications.

On a side note, one of the reason I like Red Hat Linux for mission critical production application is that Red Hat tends to take some of the new features from Fedora, which is well tested by the community.

Additional Details:

Read more about Red Hat Distribution at wikipedia.

Awesome Linux Articles

Following are few awesome 15 examples articles that you might find helpful.

Fedora 16 to Ubuntu 11.10

In this article is the first of several articles comparing the recently released Fedora 16 to Ubuntu 11.10. This first article is looking at the boot performance and power consumption from several different notebooks when performing clean installs of Fedora Verne and Ubuntu OneiricOcelot.

There are several significant differences between Ubuntu 11.10 and Fedora 16 that make for an interesting comparison. Fedora 16 is shipping with the Linux 3.1 kernel and the GNOME3.2.1 desktop, including the GNOME Shell. Fedora 16 also furthers its integration with the much talked about systemd init service, after it made its premiere with Fedora 15. Fedora also ships with the bleeding-edge Linux graphics stack. Meanwhile, Ubuntu 11.10 shipped last month with the Linux 3.0 kernel and some GNOME 3.0 packages around Canonical’s Unity desktop. Ubuntu has no plans in the foreseeable future to abandon Upstart in favor of systemd. Both Fedora 16 and Ubuntu 11.10 have some similarities like both using GCC 4.6 and sticking to the EXT4 file-system by default for now.

The battery testing and power consumption comparison is being done from a Lenovo ThinkPad T61, ASUS Eee PC, and Lenovo ThinkPad W510 to represent a few popular notebook/netbook configurations on the market.

Linux desktop performance benchmarks and other articles are forthcoming.

The boot speed was measured using Bootchart and for each clean install of the 64-bit version of Ubuntu 11.10 and Fedora 16, the Phoronix user was set to automatic log-in. All other distribution settings were at their defaults. Each system rebooted three times before capturing the Bootchart result.

Starting with the Bootchart results is the ASUS Eee PC 1301N. This netbook has an Intel Atom 330 dual-core x86_64 CPU with NVIDIA GeForce 9400M graphics on Nouveau, 2GB of RAM, and a 250GB Hitachi 5400RPM SATA HDD.


Bootchart in Fedora measured a start time of 32.72 seconds. Ubuntu 11.10 had a reported boot time of 32.40 seconds on the same hardware.


When running the Lenovo ThinkPad T61 with its Intel Core 2 Duo T9300 CPU, 4GB of RAM, and 100GB Hitachi 7200RPM SATA HDD, Fedora 16 booted in 28.23 seconds. Ubuntu 11.10 meanwhile booted in 22.88 seconds for the Intel Core 2 Duo notebook.

The last notebook being measured today is the Lenovo ThinkPad W510 with an Intel Core i7 720QM quad-core CPU plus Hyper Threading and a 160GB Intel SSD (SSDSA2M160). For this Intel notebook that is still powerful by today’s standards, Fedora 16 booted in 25.81 seconds. Ubuntu 11.10 managed to come in much faster at 12.24 seconds.

 Fedora’s increased usage of systemd would give it a lead in boot performance plus all of the other upstream optimizations and improvements made by the Fedora / Red Hat engineers, this was not the case in comparing Fedora 16 and Ubuntu 11.10. On the Atom netbook the boot speed was comparable between Ubuntu 11.10 and Fedora 16, while for the more powerful Intel notebooks with an HDD and SSD, the Ubuntu 11.10 boot speed was superior. This is a bit surprising because Ubuntu 11.10 has regressed hard on the boot speed, but had there not been this regressing since Ubuntu 10.04 LTS, Oneiric Ocelot would have performed even better.

In terms of the power usage between Fedora 16 and Ubuntu 11.10, first up are the results from the Atom 330 netbook with the NVIDIA ION (GeForce 9400) graphics on Nouveau for both operating systems running on battery.

When both Linux distributions were idling with their respective desktops, Fedora 16 was going through slightly less power than Ubuntu 11.10 for the ASUS Eee PC 1301N.

When running the OpenArena game, Fedora 16 was going through slightly less power Ubuntu 11.10.

OpenArena was also running faster on Fedora 16 with its more bleeding-edge open-source graphics capabilities.

When the poor Intel Atom 330 was being hammered with C-Ray, the power consumption was nearly identical between the Canonical and Red Hat operating systems.

Ubuntu 11.10 was slightly faster this time, although both Linux operating systems are using GCC 4.x.

Now it is onto the power consumption between Fedora 16and Ubuntu 11.10 for the Core 2 Duo Lenovo ThinkPad T61.

For this system, Ubuntu 11.10 ends up with slightly lower power consumption than Fedora 16 when idling.

Ubuntu 11.10 is also slightly more power efficient than Fedora 16 for this Core 2 Duo notebookwith NVIDIA Quadro graphics when running the OpenArena ioquake3-based game.

Fedora 16, however, is much faster than Ubuntu 11.10 thanks to carrying more recent Nouveau driver patches.

The C-Ray power consumption results were close.

This time the ray-tracing test itself was faster under Fedora 16 than Ubuntu 11.10.

Finally it is onto the power consumption results for the Core i7 + NVIDIA Quadro FX 880M notebook, a.k.a. the Lenovo ThinkPad W510.

The power consumption when running the OpenArena game averaged out to be the same between Fedora 16 and Ubuntu 11.10.

However, like all of the other results, the OpenGL performance was much faster under Fedora 16 thanks to its more liberal graphics stack.

There also was not any significant power consumption difference between these two popularLinux distributions when tapping all of the available CPU cores with C-Ray.

The C-Ray test result here was also the same on both distributions.

While Ubuntu 11.10 may commonly be booting faster than Fedora 16, when comparing the power consumption results there is no frontrunner. For the most part, the power consumption is the same between Fedora 16 and Ubuntu 11.10, but depending upon the CPU, GPU, and other factors there can be slight differences. Fortunately, for both operating systems, there are power management improvements coming down the pipe that will hit for Ubuntu 12.04 LTS and Fedora 17, if they do not end up being back-ported.



Vidalia is a cross-platform GUI controller for Tor anonymizing proxy.


Simple Backup Solution

This tool is intended for backup of files, using a desktop GUI.


Partimage is a Linux partition backup utility. It allows you to save partitions in many files formats to image files, compress the image files, split image files for burning, and even save them across network. NTFS support is under development.



Konqueror is a combined browser and file manager for KDE.



XChat is a popular multi-platform chat client. It supports multiple channels and file transfers. As said, it is also available for Windows.



alien is a program that converts between Redhat rpm, Debian deb, Stampede slp, Slackware tgz, and Solaris pkg file formats.


AODC stands for An OpenDocument Converter. This small tool is intended to convert Open Office documents into html files on machines that do not have Open Office installed. This means you can open your documents on any computer. Now, AODC will run on Windows – but it is a tool well suited for Linux users.



Wine is an open-source implementation of Windows API on top of X and Unix. In other words, it allows you run Windows applications on a Linux machine by creating a simulated environment. Wine is nicely complemented with VMware products, which are also available for Windows.

On a side note, to convince you that you can run Windows applications – hell, Windows itself – on Linux, you might want to refer to my article Installing VMware Server & Windows in Linux.

Live CD/DVDs


Read about it in A (sweet) collection of Windows programs under Anonymizers.

Damn Small Linux

Damn Small Linux is a versatile 50MB desktop-oriented Debian-based distribution. You can boot with it from CD, USB drive or even run it inside Windows. It can also be installed onto hard disk. It’s light, fast and packs a solid range of applications, including Gphone, Firefox, Naim, XMMS, Xpdf, and many more.


Elive is a live CD running Enlightenment Windows manager, which is an amazing visual experience while being very low on requirements.  Like all other Linux CDs, it offers a mature and rich package of programs. It offers some very interesting programs like Blender 3D studio, MPlayer, Grip audio ripper, as well as the usual XChat, GAIM, Firefox, Open Office, and others.

Feather Linux

This is another small Linux, intended to provide a user with a safe and comfortable live working environment. It takes only about 120MB and offers in return AbiWord, Dillo, Firefox, CTorrent, NTFS resize support, Samba, Fluxbox, and more.


Gentoo is a combined live and install CD. This allows you to test the feel of the distribution before deciding whether you want to install it (warning: Gentoo is NOT the friendliest distribution for beginners!). It offers a full, complete working environment.


Helix is a dedicated incident response and forensic analysis live CD. It is not intended for beginners. The CD includes many useful tools like e2recover – for recovering files under ext2 file system, ClamAV and F-Prot anti-virus scanners, chkrootkit and rkhunter anti-rootkit scanners, Galleta – cookie analyzer for Internet Explorer, Regviewer – Windows registry analyzer, wipe – for secure file deletion, and more. The full contents of the CD are available here.


Read about it in A (sweet) collection of Windows programs under Live CDs.

Update: Recently, there have been reports of a virus that destroys the Partition Table of hard disks and renders them unbootable. A tool called TestDisk can be used to remedy such a failure, if it occurs. TestDisk is included in the powerful package of utilities that can be found on Knoppix CD. It is also included with GParted live CD.

Puppy Linux

Puppy Linux is another small desktop-oriented live CD. Puppy Linux comes in a wide range of flavors, including the static live CD but also the multi-session CD/DVD, which allows you to save your live sessions to hard media every time you use Puppy and reload them on the next use, virtually eliminating the need for running an operating system from a hard drive. This option can also be useful for people who have to travel a lot. Puppy Linux weighs 50-70MB and offers many useful applications. Puppy comes in many flavors, including custom and specialized derivatives.


In addition to a very powerful desktop operating system, you can also enjoy a SUSE live CD. You can read more about SUSE in my article Installing SUSE Linux – Full tutorial.


This is a live CD specifically geared toward rescue and recovery. The tools package includes some of the most important tools available for Linux user, like GParted, QTParted, Partimage, Grub, Lilo, sfdisk, security tools, network tools, and more. The full list of tools is available here.

Ubuntu 6.06

Ubuntu is a combined live and installation CD. Ubuntu runs with Gnome desktop. You can also try Kubuntu with KDE and Xubuntu with Xfce. You can read more about (K)ubuntu in my article Installing (K)ubuntu Linux – Full tutorial. You can read all about some 50+ live CDs on FrozenTech LiveCD List.

Media manipulation



MP3FS is a read-only FUSE file system which transcodes audio formats to MP3 on the fly when opened and read.

Media Players


MPlayer is a highly versatile media player for Linux, with a very good support of audio and video formats. It will play most MPEG/VOB, AVI, Ogg/OGM, VIVO, ASF/WMA/WMV, QT/MOV/MP4, RealMedia, Matroska, NUT, NuppelVideo, FLI, YUV4MPEG, FILM, RoQ, and PVA files, supported by many native, XAnim, and Win32 DLL codecs. You can watch VideoCD, SVCD, DVD, 3ivx, DivX 3/4/5, and even WMV movies.


xine is a lightweight, powerful media player, capable of playing AVI, MOV, WAV, and MP3 formats. The player has many guises and is constantly being developed.


XMMS is a multimedia player (mainly audio) for UNIX-based systems. It supports MP3, MOD, WAV, and other formats. A variety of plugins is available. XMMS is included on Elive and Knoppix live CDs.



QTParted is a clone of Partition Magic. It is capable of handling NTFS partitions.


Super Grub Disk

Super Grub Disk is intended to run from a floppy disk or CD and is used for system rescue. Most importantly, it can be used to restore boot loaders, including GRUB, LILO and even Windows boot loader.


TestDisk is a utility specially designed to recover lost partitions and make non-booting disks bootable again. This highly useful tool can be found on a number of live CDs, including Knoppix and GParted. It supports NTFS partitions and also comes in Windows flavor.

Security tools

Note: Most Linux security tools are geared toward knowledgeable users. If you are not Linux-savvy, you should not meddle with these programs.



This tool allows you to look for unwanted spies on your machine, not that there should be any/


rkhunter is another tool for uprooting undesired self-hiding toolkits.



FREESCO is a lightweight, powerful firewall based on CISCO. It supports up to 10 network cards, 10 modems, 5 printers, NAT, a whole lot more, and will run from a single 1.44MB floppy. You can use an antique 386 machine to run it.


SmoothWall is a powerful firewall with a self-contained operating system and a web-based GUI. It can be installed on a machine as lowly as a 486.

Intrusion prevention


AppArmor is an application security framework, most easily described as heuristically-inclined HIPS. It will run on Linux distributions based on Red Hat. Mastering AppArmor takes knowledge and patience.


Snort is a very popular open-source network intrusion detection and prevention software. It is intended for experienced users.

Malware control


Truman is a sandbox-like malware analysis tool, running on native hardware. It is NOT recommended for people who do NOT understand the full implications of using this tool.


Useful links

Disclaimer #2: I have NOT personally tested each and every application at the below sites. I cannot guarantee their quality. Treat the below links as a good reference point from which you may expand your searches.

Eric L. Howes’ Linux Privacy & Security

Fresh RPMs – a site compiling listings and download sites for hundreds of packages

FrozenTech LiveCD List – a list of live CDs

Linux Online! – a long list of applications for Linux

Users’ recommendations

Thanks to the following people for their suggestions: Alphalutra1, Ben, dog, Durad, romanlance.

Some of the suggested programs have been incorporated in the list above. All future suggestions will be listed below. Again, the same criteria as for Windows programs apply: the proposed applications should be fairly simple, free beyond any reason of doubt, non-offensive to me, and preferably suggested by a member of a respectable forum.

Here are some of your recommendations:

Amarok – this is a light, simple, beautiful, and highly versatile for Linux running KDE; natively, it does not support MP3 format, but the necessary libraries can easily be added – for example, in Ubuntu or SUSE, via package managers – libxine-extracodecs.

Bluefish – a web editor that supports a range of languages, including CSS, HTML, Java, javascript, Octave, PHP, R, and many others, unlimited undo/redu funtionality, and compliance with both KDE and Gnome environments.

Democracy Player – an Internet TV platform; the player incorporates video RSS feeds, automatic downloads of videos, BitTorrent, and much more.

F-Spot – a photo management program for Gnome desktops; the program supports 16 file types, allows easy editing and tagging of photos, simplifying cataloguing of large batches of images.

Guarddog – a firewall with goal-oriented GUI, intended for beginner and intermediate users.

IEs4Linux– an excellent script that enables you to run Internet Explorer on Linux (with Wine installed); it will offer you three versions of Internet Explorer, making invalid the excuse of not switching to Linux because your favorite site only loads in Internet Explorer.

K3B – is a CD burning utility for KDE, with lots of excellent features, including support for multiple El Torito boot images, audio CD burning, VCD, SVCD, mixed-mode CDs, eMovix CDs, CD copy and CD/DVD ripping, DVD burning, DivX/XviD encoding, blanking of CDR-Ws, writing of ISOs, and a whole lot more.

Kopete – an Instant Messaging program for KDE; Kopete supports AIM, ICQ, MSN, Yahoo, Jabber, IRC, Gadu-Gadu, Novell GroupWise Messenger, and more, as well as message encryption and archiving.

KTorrent – BitTorrent client for KDE.

Openbox – a lightweight, extensible windows manager; it can be used instead of the heavier Gnome and KDE.

pfSense – a firewall based on m0n0wall, using OpenBSD ported Packet Filter; supports a wide range of devices and protocols.

Quanta Plus – a WYSIWYG web development program for KDE, with a wide range of plugins.

ROX-Filer – a fast, lightweight desktop (based on X Windows). It can be a suitable alternative to heavier environments on older systems.

Streamtuner – a stream directory browser, supporting SHOUTcast, Live365 and other stream directories, as well as full support for ID3 and Vorbis metadata editing; it goes well with Streamripper, which allows you to record the streams.

Sylphweed – a lightweight e-mail client; also supports Windows.

General advice

I guess that’s it. By the way, most of the general advice for Windows users also applies here. There’s no need to Ctrl + A  the entire Internet and download it onto your machine. With Linux, you’re in an even greater peril of getting carried away, because there are tens of Linux distributions – whereas Windows is only one.

Don’t download anything and everything – make sure you trust the download site, make sure you understand what you’re doing, visit the forums and ask questions before you start meddling, and always have your personal data backed up. Most importantly, in Linux, when you think something is not working – DO NOT INTERFERE, LET IT BE! It Is working. Believe me. Kernel updates can take as much as a whole day to complete, even more. When you’re downloading packages off the Internet, they are often recompiled locally on your machine to suit your architecture. This process can be quite lengthy – and it is NOT healthy to interrupt. Wait for your machine to tell you it’s failed before you do.

(Sweet) collection of programs


Total Uninstall

This program monitors changes to the system during installations, allowing you to perform a full uninstall of programs that leaves traces; quite a number of programs does not uninstall completely, leaving scars all over the system. It is particularly useful for people who install / uninstall lots of programs frequently.



Anonym.OS LiveCD is a bootable live CD based on OpenBSD operating system, providing a hardened environment whereby all ingress traffic is denied and all egress traffic is automatically and transparently encrypted and/or anonymized.



7-Zip is an archive manager for 7z, ZIP, GZIP, BZIP2, and TAR (packing and unpacking) and RAR, CAB, ISO, ARJ, LZH, CHM, Z, CPIO, RPM, DEB, and NSIS (unpacking only) file formats.


This is another powerful archive manager, with a wide support of formats, including 7-ZIP, A, ACE, ARC, ARJ, B64, BH, BIN, BZ2, BZA, C2D, CAB, CDI, CPIO, DEB, ENC, GCA, GZ, GZA, HA, IMG, ISO, JAR, LHA, LIB, LZH, MDF, MBF, MIM, NRG, PAK, PDI, PK3, RAR, RPM, TAR, TAZ, TBZ, TGZ, TZ, UUE, WAR, XXE, YZ1, Z, ZIP, ZOO.



DriveImageXML is a program for backup and imaging of partitions and drives. It is also available as a plugin for the BartPE or Ultimate Boot CD for Windows live bootable CDs.


ERUNT is a registry backup and restore utility. It allows you to maintain daily backups of your system (up to 30 days) and quickly recover in case of an emergency. The program is also twined with NTREGOPT registry optimizer

Karen’s Replicator

Replicator is a utility that allows you to automatically backup files, folders and drives. It allows to set a schedule for your updates, define an ignore list and more. Furthermore, Karen has a long list of useful applications, called Power Tools. You can find them on Karen’s site.



Firefox is an open-source browser, available for both Windows, Linux and Mac. It is stable, robust, secure, and highly customizable, with more than 700 extensions. You can find about all the possible extensions at Mozilla Firefox Add-Ons.

Personally, I would suggest the following extensions:

Adblock or Adblock Plus, with Adblock Filterset.G Updater, for blocking of advertisements

Cookie Button and Cookie Button in the status bar, for control of cookies

IE Tab, for watching pages using Internet Explorer engine

Noscript, for control of javascript and other plugins

Refcontrol, for privacy issues

Scrapbook, for saving and organizing web pages

Sage, a lightweight RSS feed reader

Tab Mix Plus, for enhanced tabbing

User Agent Switcher, for privacy issues

Of course, there are many other extensions, like mouse gestures, password generators, anti-phishing, anti-spoofing, FTP, and tons more – feel free to explore.


This is another open-source Gecko-based browser. It is very light and fast and will probably offer better experience on low-end machines than other browsers.


Opera is yet another solid browser. Like Firefox, it is available for the three major desktop OSes. It is mature, fast and includes a BitTorrent and a mail client. It is also the most compliant browser by W3C standards.

CD/DVD burning

CDBurnerXP Pro

CDBurnerXP Pro is a free burning solution. It will burn CD-R, CD-RW, DVD+R/RW, and DVD-R/RW discs.


InfraRecorder is another easy-to-use burning software for Windows, allowing you to copy discs, burn images, blank rewritable discs, and more.



MD5Summer is a Windows MD5 sum generator, allowing you to verify the integrity of downloaded files or burned isos.


Please be extra careful when downloading codecs.


To the best of my knowledge, this site has a large collection of available audio and video codecs. Although not programs in the strictest of terms, the codec packages often contain miscellaneous tools like media players and converters. You should probably choose either K-Lite Codec Pack or XP Codec Pack.

Customized OS builders


nLite is a deployment tool for unattended installation of Windows. Furthermore, nLite is a customization tool, which allows you to remove certain Windows components from the installation, add drivers and patches and tweak a variety of configurations. It can be used to build your own custom install CDs as well as learn the functionality of the Windows operating system in greater depth.

Development tools


Eclipse is an extensible IDE that allows easy development of C++ and Java applications. It has a wide range of plugins that can be used with it.


HDD Health

HDD Health is a program intended to monitor hard drives and predict their failures.

HDD Thermometer

This tool monitor the temperature of the hard drives and can prevent overheating and data loss.


Memtest86 is a memory diagnostics tool. It needs to be run from a floppy disk or a CD before the operating system boots.


This program will monitor fan speeds, voltages and temperatures of hardware components in computers with monitor chips. It is a tool designed for a power user and should not be used in vain. Just like CT scans are not performed on every patient with headache, you should consider using it if you think there might be a problem with your hardware.

Note: Most hardware vendors offer a variety of diagnostic tools for their products. For instance, all major hard drive manufacturers also offer small diagnostic utilities for examining the disks. Please refer to relevant vendors’ sites if you want to download and use these utilities. Most often, they will need to be run from a floppy disk of a CD.



DOSBox is an x86 PC emulator, complete with graphics, sound, mouse, and modem, allowing you to run old DOS-based games that are no longer supported by modern operating systems.


QEMU is an open-source processor emulator. It requires some knowledge to be fully utilized. Nevertheless, it can be useful for creating virtual hard drives, for example.



Eraser is a secure deletion tool, allowing you to completely wipe information off your hard drives.

Explorers & File managers


freeCommander is an alternative to the standard Windows Explorer. It will also run from a USB stick and is one of the many tools included in the Ultimate Boot CD for Windows (see below under Live CDs).

FTP clients


FileZilla is a fast, open-source FTP client.

Graphics (image animation, editing and viewing)

Image manipulation


GIMP is a powerful, comprehensive image manipulation program. Like most open-source software, it is also available for Linux and MacOSX. GIMP offers an extremely wide range of tools for graphic editing of images. It requires extensive knowledge to be fully utilized – however the possibilities are virtually limitless. The program requires a GTK runtime environment to be installed. GIMP is also available in a version similar to Adobe Photoshop, called GIMPShop.


This programs allows you to quickly manipulate batches of images, by converting their format or color map, resizing them, or rotating them. It is very handy for people who frequently have to manipulate lots of pictures.


ScreenshotCaptor is a very handy program for taking screenshots. Unlike the standard commands, Alt + PrintScrn or PrintScrn, it allows you to take screenshots in different file formats, automatically save them to a folder rather than clipboard, schedule operations, and more. It is also capable of taking screenshots of regions or full content of partially hidden windows.

Image viewers


IrfanView is a very light, very fast and extremely powerful viewer. It includes a media player and also has some very neat editing features. A range of plugins is available.

HTML editors


Nvu is an open-source, cross-platform HTML WYSIWYG (What You See Is What You Get) editor. It can be run alongside or instead of Mozilla Composer HTML editor. Nvu can be boosted with extensions, which include tools for advanced HTML editing, javascript debugging, code enhancement, tutorials, localized language support, and more.

Instant messaging


This is yet another open-source, cross-platform software. Like all open-source projects, it is light, fast and clean. GAIM is a multi-protocol client and will allow you to connect to several networks, without using several (often) bloated and unneeded IM programs. GAIM supports AIM, ICQ, MSN, Yahoo!, IRC, Jabber, Gadu-Gadu, Silc, GroupWise, SameTime, and Zephyr networks.


Sun Java

Although not strictly necessary for everyday home computing, Java is used in the design of some web pages and a runtime environment will have to be installed on your PC before you will be able to view them. Sun Java offers a solid and secure Java engine. Additionally, development tools for programmers or hobbyist seeking to learn Java are available. The home user usually needs only the Java Runtime Environment (JRE).

It is also advisable to remove the default Microsoft Java Virtual Machine (MSJVM), which has been known for a number of security holes. Windows XP SP2 removes the machine during the installation, but you might want to run a separate uninstaller. MSJVM Removal Tool can be downloaded from MajorGeeks.

Live CD utilities

Bart’s PE Builder

Bart’s PE Builder allows you to build customized bootable live Windows CDs. Bart’s PE Builder offers a range of useful utilities, including system diagnostics and recovery, hardware inspection, and more. It is an ideal tool for rescue operations and offers a familiar interface to Windows users who might have qualms about using Linux-based live CDs.

For details and instructions, please refer to my article How to create a bootable live Windows CD. Note: You should burn a separate stand-alone bootable CD containing only the BartPE environment.


Knoppix is a Linux bootable CD or DVD. Although not strictly a Windows utility, Knoppix is famous for a very good hardware support, that is if you have problems with the detection of a hardware component like the sound card or a graphic card, you’re most likely to start solving the problem booted with Knoppix. It can also function as a rescue disc, a backup tool, a safe browsing platform, or a great tool for learning Linux.

Ultimate Boot CD for Windows

This is one of the most important tools a Windows user can have. Like Bart’s PE Builder, UBCD4WIN is a story unto itself. It is not just one program, it is a complete bootable Windows kernel, packaged with tens of useful utilities in a range of categories. UBCD4Win PE Builder is based on Bart’s PE Builder. Nevertheless, UBCD4WIN offers a much greater range of available tools. You can also add your own plugins.

Among offered tools are 7-Zip, a43, Ad-Aware SE, Agent Ransack, AVPersonal, BGInfo, CPU Bench, CWShredder, DeepBurner, Dirms, Disk Copy, Disk Image, Disk Wipe, Eraser, ERUNT, Explore2fs, ExplorerXP, File Recovery, FileZilla, Firefox, Floppy Repair, freeCommander, Free Undelete, HD Cleaner, HDTune, HijackThis,  IPScan, IZArc, MaxBlast, MemTest, MbrFix, MBRWiz, P95, PasswordPro, PDF Reader, Popcorn, PPPOEXP, Putty, R-Linux, RecoveryManager, RegCleaner, Scribe, SmallCD, Stinger, Sysclean, UltraVNC, xplorer2, WinDLG, and many more.

For a complete list, you might want to refer to the List of Tools. For details and instructions, please refer to my article How to create a bootable live Windows CD. Note: You should burn a separate stand-alone bootable CD containing only the UBCD4WIN environment.

Mail clients


Mozilla Thunderbird is a good alternative to default Outlook Express or Outlook clients. It is secure, fast, has a very good content filter, and can be customized with extensions (like Firefox). There are more than 100 available extensions for Thunderbird.



CCleaner (the first C stands for Crap) is a system optimization and privacy tool. It allows you to clean browser caches, delete cookies, remove corrupted or unusedfiles and erase tracks of your online activities. It also has the ability to clean leftover registry keys and values – use at your own discretion.

Important: Due to a recent doubt that the latest version of CCleaner (1.34.407) might cause problems with networking and/or Internet connection when used for routine cleaning at the default settings, I must exclude it from the list of recommended software for the time being. I will keep you updated.

Note: I cannot recommend a free registry cleaner. There is a number of available tools, all of which will do a good job. But none excellent.

Media manipulation


Audacity is a cross-platform sound editor, allowing you to edit and record audio files. It also has a number of plugins available, including LAME mp3 encoder.


VirtualDub is a very powerful video processing utility.

Media players


This is an open-source, cross-platform player, with a large number of supported media formats.


WinAmp is a highly customizable media player, with a range of available skins and plugins (including a Karaoke plugin). It also supports a range of file formats.



AbiWord is an open-source lightweight word processor, and a good replacement for Wordpad.

Open Office

Open Office is an open-source, multi-platform, multi-language, complete office suite that is a solid substitute for the standard Microsoft Office package. The suite offers the same range of applications, including a word processor, a spreadsheet, a presentation tool, a graphic package, a mathematical equation editor, and a database tool.



GParted is a Gnome Partition Editor. Although Linux-based, it fully supports the NTFS file system. It runs from a CD.

PDF software


Foxit is a fast, light PDF reader and printer.


PDFCreator allows you to create PDF documents; it is used like a printer from any Windows application.



eMule is an open-source project. It supports several networks, is rather robust and has good security; it can be run as an unprivileged user.

Portable applications


The above link leads to a family of portable applications, including 7-Zip, AbiWord, Audacity, ClamWin, Firefox, Open Office, Nvu, Thunderbird, and more. All of these can be run from  a USB stick.

Portable Opera

Like Opera browser, with the benefit of being able to run from a USB stick.

RSS feed readers


FeedReader is a lightweight RSS and ATOM aggregator.


Admin privileges


This little utility allows you to run programs with limited privileges while logged in as the Administrator. It can be useful for neutering the potential hazard of online activities by reducing the rights of Internet-dependent programs like browsers, mail client, P2P software etc.



SnoopFree will allow to you to prevent certain applications from watching your screen or monitoring your keyboard strokes. Programs with shortcuts, certain games or other software might need to exercise these activities to function properly, therefore be careful when denying (or permitting) access to your screen and keyboard.


I cannot recommend any anti-rootkit tools. These tools require a fair knowledge of system calls to properly interpret. For most people, reading the scan logs will be a complete and utter mystery with counterproductive results – confusion, fear, paranoia.


Ad-Aware SE

Ad-Aware is an on-demand anti-spyware scanner. It can also search for Alternate Data Streams.

Spybot Search & Destroy

This tool is a handy on-demand scanner. It also includes the immunization feature for Internet Explorer and Opera browsers, as well as a registry monitor called TeaTimer.

SuperAntiSpyware Free

SuperAntiSpyware is a lightweight anti-spyware solution with very good detection and (even more importantly) removal capabilities. While the free version lacks real-time protection or automatic updates, it is still a very handy addition to one’s security arsenal.



The free version of A2 is a solid on-demand scanner, mainly useful against trojans, although the definition is becoming more blurred every day. A2 complements nicely with Ewido.


Ewido Security Suite can be classified as anti-spyware, although the program was born to fight trojans and it excels in this more than other types of malware. The free version is a solid, on-demand scanner.



avast! anti-virus is a free product, with a resident shield and an on-demand scanner.


AVG offers a free, real-time anti-virus, which includes scheduling, automatic update and email scanning.


This is an open-source on-demand virus scanner.

Dr.Web anti-virus link checker extension for Firefox

Firefox users can install this extension in order to scan remote links before downloading them. This offers the user the benefits of another powerful anti-virus engine without actually running it on his / her own machine.

Kaspersky ActiveX plugin for Internet Explorer

Similar although slightly different than Dr.Web extension, the Kaspersky scanner is installed as an ActiveX and runs with a web interface. Claimed as one of the better anti-virii in terms of detection, this plugins offers another layer of protection for Windows users.



AxCrypt is a file encryption software, allowing to protect your files and folders.


TrueCrypt is an open-source disk encryption software, which allows you to encrypt entire partitions, hard disks or USB sticks.



Comodo is a nice firewall for the average user.

Online Armor Free

The free version of this program offers a very thorough security solution for the Windows users. It is very easy to configure and use. In addition to the basic firewall functions, the programs also has some HIPS ability.

Although discontinued, I think this was and is the best free firewall for Windows available. It can be still found at a few sites, like Tucows.


ZoneAlarm is one of the more popular firewalls, because it has a very simple interface and is easy to use. It is recommended for a beginner user.



If you are using Internet Explorer to surf, you could benefit from this tool. It will insert a blacklist of sites into the Internet Explorer’s Restricted Sites zone.

Privacy tools


PeerGuardian is an IP blocker and will work well in conjunction with firewalls and P2P software. It allows you to block whole ranges of IPs, including known advertisement, education, government, P2P, or spyware addresses.


Proxomitron is a very powerful web filtering proxy. Properly configured, it can be used to clean the web pages of advertisements, exploits, nags, or just about anything. It has the similar impact to a number of Firefox extensions combined, except that it will function for all browsers rather than just Firefox. Recommended filter packages are GrypenJD5000 andSidki.

System diagnostics

asquared HiJackFree

This is a detailed system analysis tool, mainly intended to help user prevent infections by malware. It can be used to monitor BHOs, DLLs, LSPs, services, the Hosts file, and more.


Autoruns is a startup monitor, allowing to closely inspect the status of your system during bootup and login. I do not recommend it to an average user.


Filemon allows you to monitor system file activity in real time.


HijackThis is intended to remove malware infections like browser hijackers. Nevertheless, it also functions as a diagnostics tool since it allows you to inspect your system, including services, BHOs, Winlogon entries, items that run at startup, and more. Using this tool requires caution and expertise. Malpractice can render your system unbootable.

Port Explorer

This tool allows you to monitor the connections your computer establishes with the world. Interpreting the results requires some advanced knowledge.


You can think of ProcessExplorer as a boosted version of the Task Manager, with some fancy extras. I do not recommend it to an average user.


Regmon allows you to monitor utilities accessing the registry in real time.


This tool allows to list all startup entries on your system. Just like ProcessExplorer is a Rambo Task Manager, so is StartupList a Rocky msconfig.


TCPView allows you to monitor TCP and UDP connections on your system.

Note: Sysinternals have a huge choice of excellent utilities. You should definitely visit there.


VMware Player & VMware Server
VMware offers a range of virtualization products. The Player and Server are excellent tools for experimenting with new software, other operating systems, for education, safe browsing, and more. For details and information, you can read my article on the subject.

Appendix (for bold and beautiful only)

In my opinion, the above list is more than enough to keep you busy for a few weeks. When referring to the (sweet) package, I mean all of the above. Below is a compilation of other suggested links, general information and advices that can come handy. However, it is up to you to sift through the massive amount of data and decide what suits you best.

Other useful tools

Acrobat Reader – the most popular PDF reader.

Belarc Advisor – a PC audit tool.

BitDefender Free anti-virus – an on-demand anti-virus scanner with automatic update and schedule scan options.

EULAyzer – a tool for inspection of license agreements.

Microsoft Baseline Security Analyzer – a Windows audit tool.

Notepad++ – an open-source code editor and Notepad alternative.

PageDefrag – this tool allows you to defragment page files and registry hives.

Winpatrol – a multipurpose security monitor.

Users’ recommendations

Below is the list of programs that you, readers, have suggested. Please note that the recommendations meet the following criteria: I am aware of the existence of the software and have used it (or at least tested). Clean, free, simple yet effective. Did not aggravate me personally in my history of computing. Preferably suggested by a member of a respectable forum. Take no offense if certain programs are not listed here. It does not mean they’re bad; it just means that I, a human of particular taste, do not think they fit in the existing context. Elsewise, it might take me some time to go through the long list of suggested programs, so have patience.

Thanks to the following people for their suggestions: Ben, Devinco, djg05, dog, goldengreek, iceni60, Notok, nossirah, roger_m, Tommy, WSFuser, a few other souls who wish to remain Tor … I mean anonymous.

aMule – an open-source cross-platform eMule-like P2P software; quite useful for people running dual OS machines.

Antivir – a rather popular anti-virus, which can be used instead of other suggested solutions; the free version does not have an email scanner, though.

Azureus – an open-source P2P client implementing BitTorrent protocol; it is based on Java and will run on any machine with Java Runtime Environment.

CDex – an open-source tool for ripping MP3 files.

Enigmail – an extension for Mozilla Thunderbird, allowing users to access the authentication and encryption features provided by GnuPG.

GnuPG – an open-source project that allows you to encrypt your data and communications; Windows users might also want to check Gpg4win, email security specially oriented for Windows environment.

HDTune – a diagnostics tool for inspection of hard drives.

K9 – an anti-spam filter for POP3 mail accounts.

KeePass – an open-source password manager.

Lightning – Sunbird extension for Mozilla Thunderbird.

Media Player Classic – a light, open-source media player that supports a wide range of formats.

Privoxy – a web-filtering proxy akin to Proxomitron. It is aimed at protecting privacy and removing web annoyances.

Shareaza – an open-source P2P software that supports BT, ED2K, Gnutella, and G2 networks.

Sunbird – an open-source cross-platform calendar application (also available as a portable application).

Tor – an anonymizing proxy that can be used to ensure a high level of privacy while online; the use of a chain of proxy servers and the necessary encryption of traffic will cause a slowdown in the Internet speed.

Wireshark – an open-source, multi-platform network protocol analyzer; it is very powerful but is not aimed at the beginners or even intermediate users.

XnView – a graphic and photo viewer similar to IrfanView.

xplorer2 – a file manager similar to freeCommander; another potential replacement for the Windows Explorer.

Things I will not usually recommend


Internet is loaded with tools intended to keep a sinful user from hurting himself. I find this approach to be misplaced. It is akin to giving a helmet to a person who likes to bang his head against the wall. Gullibility can be countered with nothing but a bit of logic.

Phony links to suspicious sites (a.k.a. phishing and pharming)

Do you honestly think your bank will ask you to confirm your password through an email? Do you read garbage emails that drop into your inbox? If the answer is yes, to either of the questions, some attitude changes are needed.

You do not need special tools to tell you that a site you go to is bad. The rules are simple: you are not sure if the site is bad, it’s bad; the link came in an email you did not expect, it’s bad; you were directed to a site you did not expect, it’s bad.


If you’re receiving spam, there are two likely reasons: You have submitted your email somewhere. You are on a friend’s mailing list and your friend is not exactly the hacker material. Make dedicated email addresses for dedicated spam use. Imagine if it were that simple in life – a room where you could store away all uninvited, unwanted family members.

Anti-scripts & worms software

Do you often download screensavers from the Internet? Do you click on files with funny extensions like .scr and .pif in emails titled Re: your website, when you do not even have a website? If not, you are probably OK.


I’m against it. If you like tweaking, you should switch to Linux. Linux is one big tweak. Windows is supposed to run as it is, and it will not like you if you tamper too much. Many times, people disable certain options in their setup without being fully aware of possible consequences. Then, many months later they are faced with a problem they cannot solve, not realizing it is rooted in a complex web of tweaks they can no longer remember, let alone undo.

My motto is: don’t poke into open wounds, don’t pick on scabs. If your system works, let it be. If your operating system is not working well, upgrade your hardware. Most tweaking guides assume you’re a single user, with no printer, no other computers connected to your home network, no file sharing, no gaming, and a whole lot more no-nos. If you’re that much afraid of the Windows, then you should choose a more inherently secure operating system. Full functionality and a fair sense of security-enjoyment can be achieved without barricading your PC.

Memory optimization

This is a myth. Using software that runs in the memory to boost memory. If you want a good analogy, it is similar to lifting yourself up in the air, kind of contradictory to the Second Law of Thermodynamics. If your memory does not please you, test it or buy extra sticks.

TCP/IP optimization

If you do not have a sufficient knowledge of what TCP/IP stack is and how it works, you should not meddle. If your Internet is slow, upgrade the line.


There is little reason to disable services. If you fear being hacked, use a firewall or switch to Linux. If your system is sluggish and programs take a lot of time to load, maybe you should consider a better CPU and more RAM. An extra 512MB of RAM will make your machine work much faster than any number of disabled services. One or two services might be OK, but a compulsive crippling of the system is not the best doctrine.

Themes & visualization

Although this sounds innocent, it ain’t. First, you will unnecessarily hog your system with potentially incompatible styles. Second, you will be tempted to download free packages, often containing lots of bundled surprises.

Unregistering DLLs

The relationship between programs and associated DLLs is usually more complicated than it seems. You could innocently remove a DLL only to lament a lack of functionality in a completely unconcerned program months later.

Useful links

Disclaimer #2: I have NOT personally tested each and every application at the below sites. I cannot guarantee their quality. Treat the below links as a good reference point from which you may expand your searches.

Links to freeware

A+ Freeware

Freeware and Open Source Software

Links of portable software on Wikipedia



Eric L. Howes’ Privacy & Security page

Sub-section of the above site: Spyware/Adware/Hijackware Tools

Microsoft updates – Manual download of all security patches for Microsoft products

Secunia – Multi-platform security advisories
Tell good from bad (highly subjective to user’s motives, perception and taste)

Rogue/Suspect Anti-Spyware Products & Web Sites

General advice


Linking to online repositories of drivers is against my computer religion. It is similar to prescribing medications. The procedure must be exact. On one machine, a driver can do miracles. On another, it can undo them.

Drivers are required for your operating system to function properly. General software listed above is not. Therefore, while tampering with programs can be fun, tampering with drivers is dangerous. You can cripple your system. Here are some rules that I have found to be useful:

Do not be tempted to flash your BIOS just to have the latest version; you might end with an unbootable system.

Do not be tempted to upgrade your drivers only because a new patch has been released. If it ain’t fixed, don’t broke it.

If you do intend to update the drivers, BACKUP your personal data first, make sure you have a Windows installation disc and license key ready, make sure you can boot from a CD, make sure you understand what needs to be done and know how to follow the instructions.

Always download ONLY the official drivers from their vendors’ sites.

Always make sure you know who to contact (support email, forum etc.) if something goes wrong.

Never ever EVER install drivers when it’s stormy outside.

Obsessive-Compulsive Computing (OCC)

It is very tempting to run everything AT ONCE. Some people like control – unfortunately too much. I know people who run several different types of port monitors, startup monitors, registry watchers, hardware inspectors, and other little gadgets that grant a greater view of things. I think this is the wrong way to befriend computers.

Computers are better at processing information than the human mind. By competing in numbers against a machine, we are waging a losing battle. We cannot efficiently maintain an all-out vigilance of everything that happens inside an operating system. Even when extremely peaceful, a typical Windows setup runs about 1,000 processes simultaneously, most of which are invisible to the user. Running programs that can display long lists of system calls can be a nice hobby, but it can also be very frustrating and exhausting for an average man looking for security and stability.

Going through a list like the one above can be daunting. Even alarming. The best course of action is to evaluate the list and filter our applications that you are most likely never to use. And then, master the remaining package slowly, gradually, learning the strong and the weak points of each program, according to YOUR needs and tastes.

There is no need to run three hard disk monitors at the same time. You think your hard disk is going to die? Replace it. Backup your data. Two monitors will not keep it healthy. On the contrary, they will burden the system more and probably speed up its death.

You wish to control your programs startup. You think there are programs that are running out of control and needed to be reined in. Ask yourself why are they installed in the first place? Do you really need them? Do you think your system has been compromised? In that case, could there be perhaps a better course of action than an erratic attempt to douse a fire that cannot be extinguished.

You wish to control the registry. You want to know what happens. Well, if things are happening that you do not quite understand, then monitoring the heart of this mess is not going to help. Knowing things can be OK. But if you strongly suspect programs of doing things behind your back, do you honestly think such programs should continue to reside on your hard disk?

In other words, relax. Burn the CD. Keep it somewhere dry and cool. Let it be an emergency package that you might never need to use. Once in a while, when a need arises for a program that could be useful, go through the list, see if there is something that might interest you. You don’t need encryption software if you never encrypt your files. You do not need an FTP client or a mail client if you never upload files to the web or only read webmail. If you do not download movies or music, you do not need a P2P client. As a popular saying goes, never wear two sweaters at once – dunno, just made that one up. Take it easy.


%d bloggers like this: