Understanding High CPU Usage, File Permission Errors, and DNS Resolution Failures in Linux

Linux provides robust system monitoring, permission management, and networking capabilities, but unoptimized processes, misconfigured file permissions, and DNS-related issues can disrupt system stability.

Common Causes of Linux Issues

  • High CPU Usage: Runaway processes, inefficient cron jobs, or kernel-related issues.
  • File Permission Errors: Incorrect user/group ownership, missing execution permissions, or SELinux/AppArmor restrictions.
  • DNS Resolution Failures: Misconfigured /etc/resolv.conf, firewall blocking DNS requests, or outdated DNS cache.

Diagnosing Linux Issues

Debugging High CPU Usage

Identify CPU-hogging processes:

top -o %CPU

Check per-core CPU usage:

mpstat -P ALL 1

Trace system calls of a high-CPU process:

strace -p <PID>

Identifying File Permission Errors

List file ownership and permissions:

ls -lah /path/to/file

Check SELinux/AppArmor restrictions:

sudo ausearch -m AVC

Identify which user can access a file:

namei -l /path/to/file

Detecting DNS Resolution Failures

Test DNS resolution:

nslookup google.com

Check the configured DNS servers:

cat /etc/resolv.conf

Analyze network traffic to DNS servers:

sudo tcpdump -i eth0 port 53

Fixing Linux Issues

Fixing High CPU Usage

Terminate a CPU-intensive process:

kill -9 <PID>

Limit CPU usage of a process:

cpulimit -p <PID> -l 50

Adjust CPU affinity:

taskset -c 0,1 <command>

Fixing File Permission Errors

Grant execute permissions:

chmod +x /path/to/script.sh

Change file ownership:

chown user:group /path/to/file

Restore default SELinux contexts:

restorecon -v /path/to/file

Fixing DNS Resolution Failures

Restart the DNS service:

sudo systemctl restart systemd-resolved

Flush the DNS cache:

sudo resolvectl flush-caches

Manually set a DNS server:

echo "nameserver 8.8.8.8" | sudo tee /etc/resolv.conf

Preventing Future Linux Issues

  • Monitor system performance using htop and mpstat.
  • Use proper file permission management with chmod and chown.
  • Ensure reliable DNS configuration by setting up fallback DNS servers.
  • Automate monitoring using tools like fail2ban and systemd timers.

Conclusion

High CPU usage, file permission issues, and DNS resolution failures can impact Linux system performance. By applying structured debugging techniques and best practices, administrators and developers can ensure stable system operation.

FAQs

1. What causes high CPU usage in Linux?

CPU-intensive processes, runaway background tasks, and kernel-related issues can lead to high CPU usage.

2. How do I check file permissions in Linux?

Use ls -lah and namei -l to inspect file ownership and access rights.

3. What can cause DNS resolution failures?

Incorrect DNS configuration, blocked ports, and outdated caches can cause DNS failures.

4. How do I permanently set a DNS server in Linux?

Edit /etc/resolv.conf or configure NetworkManager to use specific DNS servers.

5. What tools help debug Linux performance issues?

Use top, strace, tcpdump, and htop for real-time system analysis.