Archive for the ‘Linux’ Category

Troubleshooting Linux High CPU Utilization

troubleshooting linux high cpu utilization

1. us -> User CPU time: The time the CPU has spent running users’
processes that are not niced.
2. sy -> System CPU time: The time the CPU has spent running the
kernel and its processes.
3. ni -> Nice CPU time: The time the CPU has spent running users’
proccess that have been niced.
4. wa -> iowait: Amount of time the CPU has been waiting for I/O to complete.
5. hi -> Hardware IRQ: The amount of time the CPU has been servicing
hardware interrupts.
6. si -> Software Interrupts.: The amount of time the CPU has been
servicing software interrupts.

ps -eo pcpu,pid,user,args | sort -k 1 -r | head -10

  • Share/Save/Bookmark

Troubleshooting High Memory Usage

First of all, this post is nowhere near a complete reference for linux memory usage and troubleshooting high memory usage. It only has the steps I’d taken to troubleshoot my own server when it gets overloaded by increased traffic. It happens once a while, and usually I can fix it by tuning some Apache, MySQL and other config setting.

1. using top command

After executing top command, press “Shift” + “>” and look at “RES” column. The RES column is the most reliable indicator of the real memory usage of that process.

top result

2. ps axu –sort:rss

show memory usage sorted by lowest memory usages first.

A general Apache which serves static html page should consume less than 10MB per process.
For heavily serving PHP pages, in my case it uses 18MB-39MB each httpd process.

mysqld has a memory usage of 120MB in my case. I can tell that the query cache settings worked as planned.

ps aux –sort -vsz | head -25
Top memory hogs

  • Share/Save/Bookmark

Check Linux Versions – common commands part1

  • Check Linux Kernel version:

uname -a

  • Check Linux version

cat /proc/version

  • Check Redhat based Linux version

cat /etc/redhat-release

  • Check PHP version on Linux server

php -v

  • Check mysql version on linux server

mysql -V

  • Check apache version on linux server

httpd -v

  • Share/Save/Bookmark

Install VMware Tools for Fedora 8 in VMware 6.0.2

  1. Click VM-> install VMware tools
  2. In Fedora 8 terminal window, copy WMwareTools-6.0.2-59284.tar.gz into your home folder
  3. unzip it. gzip -d WMwareTools-6.0.2-59284.tar.gz | tar -xvf WMwareTools-6.0.2-59284.tar
  4. run vmware-install.pl
  • Share/Save/Bookmark

SQL Injection vulnerability on Plesk 8.2.0

I just read this one from SWsoft forum.

There is a SQL injection vulnerable security hole exists on Plesk 8.x.x. Yes, it’s even on 8.2.0, which is the latest stable version.

It’s /usr/local/psa/admin/plib/class.Session.php.

Here’s the fix.

  • Share/Save/Bookmark

Linux common commands

1. Check folder size

$ du -hs /path/to/directory

2. Zip a folder

$ zip -r filename.zip /path/to/folder

3. Mount a portable harddrive / usb drive

$/sbin/fdisk -l

4. Check memory usage

$ free -m

by look into the free column of -/+ buffers/cache line, it’s the free memory that can be used by applications.

5. Check if a package is installed (RedHat Enterprise/Fedora/Suse/CentOS)

$rpm -qa | grep PACKAGE-NAME

6. Check file system size
du -h -x

7. Check file system space
df -h

8. Install rpm package
rpm -ivh PACKAGE-NAME

  • Share/Save/Bookmark