What is the acceptable percentage level of CPU and Memory for a Cisco router or switch? what kind of actions can be taken when the CPU utilization is high or Memory low?
Quite a difficult series of questions to answer as there are many many dependencies. My response to your router CPU question would be, if the router is performance is acceptable then whatever the level of CPU is acceptable. However, you probably want to take into account, capacity planning to ensure the router will cope with futre demands.
CPU on a switch is a little different. Generally speaking, traffic traversing a switch "should" not touch CPU, although there are exceptions. You would need to consider things such as control plain protocols such Spanning tree, routing protocols, SNMP, etc, etc and the load these are placing on your switch.
Memory again will depend on the functional requirements of the router. What routing protocol(s) are required and how large is the routing table? Other features on the router also affect memory utilization not to mention CPU.
Nevertheless, the above views are quite generalised. Cisco has written many good documents that help explain and troubleshoot CPU and memory related issues on routers and switches. i have listed some these below. I hope you find some answers here:
Troubleshooting memory problems:
Troubleshooting High CPU utilization on routers:
Catalyst 3750 Series Switches High CPU Utilization Troubleshooting:
Troubleshooting High CPU Utilization: