Performance Issues
When you run into high CPU or low memory on the PIX, you might observe one or more of the following symptoms:
-
A packet drops across the firewall.
-
You are unable to log in to PIX either via Telnet, SSH or even the console.
-
You are unable to execute any command on the CLI even if you can connect to it.
This high CPU and low memory condition on the PIX firewall can be caused by normal or abnormal traffic. Examples of abnormal traffic are attacks, worms, viruses, and so on, in the network. However, if you have just deployed a new PIX in the network, and you are having performance issues, you might be reaching the CPU or memory limit on the PIX. This can happen if you have an additional feed or bandwidth increment for your existing PIX. It can also happen because of misconfiguration on the switch that causes the redirecting of all traffic into the port of the PIX firewall. However, if performance deteriorates suddenly, chances are that either you are running into a configuration issue on the PIX or your network is under attack. This section describes troubleshooting steps for isolating issues with CPU and memory problems.
High CPU Utilization
It is important to keep the CPU utilization under 60 percent. If utilization exceeds 60 percent, you must examine the traffic and see if you need to consider a firewall with higher performance, or if you are under attack.
Work through the following steps to identify and correct high CPU utilization problem:
Step 1. | Find out the summary of CPU utilization. In both single and multiple mode, execute the following command to obtain the summary of the CPU usage at any time: PIX# show cpu [usage] [context {all | context_name}] A sample output of the show cpu usage command is as follows: PIX# show cpu usage A sample output of CPU usage for a specific context in multiple context mode follows: PIX/context_name(config)# show cpu usage context admin You can find out the same information by executing the command from the context itself as follows: PIX/context_name(config)# show cpu usage context admin The following command shows how to display the CPU utilization for all contexts: PIX(config)# show cpu usage context all If the CPU utilization is showing high, move to the next step to find out which process is causing the high CPU utilization. | ||
Step 2. | Identify the process that is utilizing maximum CPU cycles. Execute the show process command on the PIX firewall and find out the run time of the process. You should compare the other processes with different poll processes, for example, the 557poll process. Example 3-18 shows that the Logger process is utilizing the maximum CPU cycles other than 557poll. Example 3-18. Output of show processes on PIX Firewall
Example 3-19. The Differences in CPU Utilization by Different Process
| ||
Step 3. | Examine the process and take corrective action. As the Logger process is using the maximum CPU, review the configuration for syslog as shown in Example 3-20. Example 3-20. The Output of the show log Command
Example 3-21. The show log Output Taken After a Few Minutes
| ||
Step 4. | Investigate the Syslog messages. At this stage, you should be fairly certain that the syslog is causing the high CPU utilization problem. So you need to determine if it is because of attack or misconfiguration. If the syslog server is available, perform the analysis from the syslog server, or turn on the buffer logging. For this specific example, assume that the syslog server is down, which will cause the PIX to generate the syslog messages as shown in Example 3-22. Example 3-22. show log Output When the Syslog Server Is Unreachable
To correct the problem, you need to bring up the syslog server or turn off logging. You might consider turning of IPS until the syslog server is up again. | ||
Step 5. | Follow the same procedure to correct other problems. For example, if you are under attack, examining the syslog along with sniffer capture will assist in finding the hosts that are infected, so that you can correct the problem by patching the host, or, as a temporary work-around, configuring the PIX with ACL to drop the bad packets on the interface. Actions that need to be taken differ depending on the problem. | ||
Step 6. | Re-examine the CPU output, and repeat as necessary. |
For additional details on troubleshooting performance issues on the PIX firewall, refer to the following link:
http://www.cisco.com/en/US/products/hw/vpndevc/ps2030/products_tech_note09186a008009491c.shtml
To find out the function of different processes on the PIX, refer to the following link: