Understanding the resources of your web hosting
Reading time: 12 minutes
Difficulty: Beginner ⭐
Prerequisites: Access to cPanel
📋 Introduction
Your web hosting works like a computer shared among several users. To ensure optimal performance for everyone, each account has limited resources: CPU, RAM, disk space, etc.
Understanding these resources allows you to:
- ✅ Avoid site slowdowns
- ✅ Diagnose errors (500, 503, 508)
- ✅ Optimize performance
- ✅ Choose the offer that suits your needs
🎯 Overview of Resources
Here are the 6 main resources of your hosting:
| Resource | Icon | Role | Analogy |
| CPU | ⚡ | Processing power | The brain |
| RAM | 🧠 | Random Access Memory | The working memory |
| Disk space | 💾 | File storage | The hard drive |
| Bandwidth | 🌐 | Monthly traffic | The highway |
| I/O (Input/Output) | 📊 | Read/write speed | The disk speed |
| Inodes | 📁 | Number of files | The number of drawers |
⚡ The CPU (Processor)
What is the CPU?
The CPU (Central Processing Unit) is the "brain" of your hosting. It performs all operations: displaying a page, processing a form, running PHP, querying the database...
How does it work?
Visitor → Requests a page → CPU processes the request → Page displayed
On shared hosting, the CPU is shared among all accounts. Your CPU limit represents the maximum share you can use.
Unit of measurement
| Notation | Meaning |
| 100% | 1 full CPU core |
| 200% | 2 CPU cores |
| 50% | Half a core |
What consumes CPU?
| Activity | Consumption |
| Static HTML page | 🟢 Very low |
| Simple PHP page | 🟢 Low |
| WordPress (cached page) | 🟢 Low |
| WordPress (uncached) | 🟡 Medium |
| WooCommerce / PrestaShop | 🟠 High |
| Data Import/Export | 🔴 Very high |
| Unoptimized scripts | 🔴 Very high |
Symptoms of a saturated CPU
- ⚠️ Site very slow to load
- ⚠️ Error 503 "Service Unavailable"
- ⚠️ Page timeouts
- ⚠️ CRON tasks that do not end
How to optimize the CPU?
| Action | Impact |
| ✅ Enable caching (LiteSpeed Cache, WP Super Cache) | 🟢🟢🟢 High |
| ✅ Update PHP (8.1, 8.2, 8.3) | 🟢🟢 Medium |
| ✅ Disable unnecessary plugins | 🟢🟢 Medium |
| ✅ Optimize images | 🟢 Low |
| ✅ Reduce external requests | 🟢 Low |
🧠 The RAM (Random Access Memory)
What is RAM?
The RAM (Random Access Memory) is the working memory of your hosting. It temporarily stores data being processed for ultra-fast access.
Simple analogy
Imagine your work desk:
- RAM = The space on your desk (what you are currently working on)
- The hard drive = Your drawers (permanent storage)
The more RAM you have, the more tasks you can process simultaneously without slowing down.
Types of memory
| Type | Description |
| Physical memory | Actual RAM allocated to your account |
| Virtual memory | RAM + swap space on disk (slower) |
What consumes RAM?
| Activity | Consumption |
| Static HTML site | 🟢 ~10 MB |
| Basic WordPress | 🟡 ~64-128 MB |
| WordPress + plugins | 🟠 ~128-256 MB |
| WooCommerce | 🔴 ~256-512 MB |
| Large CSV import | 🔴 ~512 MB+ |
Symptoms of a saturated RAM
- ⚠️ Error 500 "Internal Server Error"
- ⚠️ Error 503 "Service Unavailable"
- ⚠️ Message "Allowed memory size exhausted" (PHP)
- ⚠️ Pages not fully loading
How to optimize RAM?
| Action | Impact |
| ✅ Gradually increase memory_limit in PHP | 🟢🟢 Medium |
| ✅ Disable resource-intensive plugins | 🟢🟢🟢 High |
| ✅ Optimize database queries | 🟢🟢 Medium |
| ✅ Use object cache (Redis, Memcached) | 🟢🟢🟢 High |
| ✅ Limit WordPress revisions | 🟢 Low |
💾 Disk Space (Storage)
What is disk space?
Disk space represents the total storage capacity of your hosting. It contains:
- 📁 Your web files (HTML, PHP, CSS, JS)
- 🖼️ Your media (images, videos, PDF)
- 🗄️ Your MySQL databases
- 📧 Your emails
- 💾 Your backups
- 📝 Log files
Typical disk space allocation
📊 Example of a 5 GB WordPress site:
├── 📁 Web files (wp-content) : 3.5 GB (70%)
│ ├── 🖼️ Media/uploads : 3.0 GB
│ ├── 🔌 Plugins : 300 MB
│ └── 🎨 Themes : 200 MB
├── 🗄️ Database : 500 MB (10%)
├── 📧 Emails : 800 MB (16%)
└── 📝 Logs and others : 200 MB (4%)
Symptoms of a full disk
- ⚠️ Unable to upload files
- ⚠️ Emails not being received
- ⚠️ Errors during updates
- ⚠️ Inaccessible database
- ⚠️ Failed backups
How to check used space?
In cPanel, check:
- Statistics (right panel) → Disk usage
- Files → Disk Usage (folder detail)
How to free up space?
| Action | Potential gain |
| ✅ Delete old backups | 🟢🟢🟢 High |
| ✅ Empty email trash | 🟢🟢 Medium |
| ✅ Compress images | 🟢🟢 Medium |
| ✅ Delete unused themes/plugins | 🟢 Low |
| ✅ Clean up WordPress revisions | 🟢 Low |
| ✅ Delete old log files | 🟢 Low |
🌐 Bandwidth (Traffic)
What is bandwidth?
Bandwidth represents the amount of data transferred between your hosting and visitors during a month.
How is it calculated?
Bandwidth = Number of visitors × Average page size
Example:
- 10,000 visitors/month
- Average page: 2 MB
- Bandwidth = 10,000 × 2 MB = 20 GB/month
What consumes bandwidth
| Element | Consumption |
| Simple HTML page | 🟢 ~50 KB |
| Optimized WordPress page | 🟢 ~500 KB |
| Page with non-optimized images | 🟠 ~2-5 MB |
| File download | 🔴 File size |
| Video streaming | 🔴🔴 Very high |
Symptoms of exhausted bandwidth
- ⚠️ Site inaccessible (error 509)
- ⚠️ "Bandwidth Limit Exceeded" message
- ⚠️ Temporary account suspension
💡 Good news: At OuiHeberg, most plans include generous or unlimited bandwidth.
How to reduce bandwidth?
| Action | Impact |
| ✅ Enable GZIP compression | 🟢🟢🟢 Strong (-70%) |
| ✅ Optimize images (WebP) | 🟢🟢🟢 Strong (-50%) |
| ✅ Use a CDN (Cloudflare) | 🟢🟢🟢 Strong |
| ✅ Enable browser caching | 🟢🟢 Medium |
| ✅ Minify CSS/JS | 🟢 Low |
📊 I/O (Input/Output)
What is I/O?
I/O (Input/Output) measures the speed of data transfer between RAM and the hard drive. It's the "read/write speed" of your hosting.
Two I/O metrics
| Metric | Description | Unit |
| I/O (throughput) | Amount of transferred data | MB/s or KB/s |
| IOPS | Number of operations per second | ops/s |
What triggers I/O
| Activity | I/O Impact |
| Reading static files | 🟢 Low |
| Database queries | 🟡 Medium |
| Backup generation | 🔴 High |
| Data import/export | 🔴 High |
| File indexing | 🔴 High |
| Intensive logging | 🟠 Medium-High |
Symptoms of saturated I/O
- ⚠️ Site "lagging" without errors
- ⚠️ Slow database queries
- ⚠️ Backups taking hours
- ⚠️ Variable response times
How to optimize I/O?
| Action | Impact |
| ✅ Enable database caching | 🟢🟢🟢 Strong |
| ✅ Optimize MySQL tables | 🟢🟢 Medium |
| ✅ Reduce auto backup frequency | 🟢🟢 Medium |
| ✅ Schedule heavy tasks at night | 🟢🟢 Medium |
| ✅ Use optimized SQL queries | 🟢🟢 Medium |
📁 Inodes (Number of Files)
What is an inode?
An inode is a data structure representing a file or directory on the system. In simple terms:
1 inode ≈ 1 file OR 1 directory
Why is it important?
Even with available disk space, if you reach the inode limit, you won't be able to create new files.
What creates many inodes
| Source | Number of inodes |
| Basic WordPress | ~10,000 |
| WordPress + plugins | ~30,000 - 50,000 |
| Uncleaned file cache | ~100,000+ |
| Stored emails | 1 per email |
| PHP sessions | 1 per session |
Symptoms of reaching inode limit
- ⚠️ "Disk quota exceeded" (even with seemingly available space)
- ⚠️ Unable to create files
- ⚠️ Upload errors
- ⚠️ Blocked emails
How to reduce inodes?
| Action | Impact |
| ✅ Clear file cache | 🟢🟢🟢 Strong |
| ✅ Delete expired PHP sessions | 🟢🟢 Medium |
| ✅ Clean up old emails | 🟢🟢 Medium |
| ✅ Delete temporary files | 🟢🟢 Medium |
| ✅ Use fewer small files | 🟢 Low |
🔄 Entry Processes (Simultaneous Processes)
What is an Entry Process?
An Entry Process (EP) represents a simultaneous connection handled by your account. Each visitor loading a PHP page temporarily creates an Entry Process.
Beware of misconceptions!
| ❌ It's NOT | ✅ It is |
| Number of simultaneous visitors | Number of simultaneous PHP requests |
| Number of page views | Number of scripts currently running |
Concrete example
1 visitor loads 1 WordPress page:
├── index.php starts → 1 EP
├── Processing (~0.5 second) → 1 EP
└── Page sent, EP released → 0 EP
Total time: ~0.5 second
Thus, with a limit of 20 EP and pages loading in 0.5 second, you can theoretically handle 40 visitors per second (around ~144,000 visitors/hour).
Symptoms of reaching EP limit
- ⚠️ Error 508 "Resource Limit Reached"
- ⚠️ Site intermittently inaccessible
- ⚠️ Intermittent errors (sometimes OK, sometimes not)
How to optimize Entry Processes?
| Action | Impact |
| ✅ Enable caching (serve pages without PHP) | 🟢🟢🟢 Strong |
| ✅ Optimize PHP load time | 🟢🟢🟢 Strong |
| ✅ Block malicious bots | 🟢🟢 Medium |
| ✅ Reduce AJAX calls | 🟢🟢 Medium |
| ✅ Use a CDN | 🟢🟢 Medium |
📈 Check Your Resources in cPanel
Method 1: Statistics Panel
In cPanel, look at the Statistics panel on the right:
| Resource | Where to find it |
| Disk space | Disk usage |
| Bandwidth | Monthly bandwidth |
| Emails | Email accounts |
| Databases | MySQL databases |
| Domains | Addon domains |
Method 2: Resource Usage (CloudLinux)
For CPU, RAM, I/O resources:
- In cPanel, go to Metrics → Resource Usage
- Check the summary of the last 24 hours
- Click on Details to view the graphs
Reading the graphs
| Color | Meaning |
| 🟢 Green | Normal usage |
| 🟡 Yellow | Approaching limit |
| 🔴 Red | Limit reached (throttling) |
Available tabs
| Tab | Information |
| Current Usage | Real-time resources |
| Snapshots | Captures during peaks |
| Processes | Scripts consuming the most |
| DB Queries | Problematic MySQL queries |
⚠️ Resource-Related Errors
Summary table of errors
| Code | Message | Affected Resource | Solution |
| 500 | Internal Server Error | RAM / PHP | Increase memory_limit, check scripts |
| 503 | Service Unavailable | CPU / RAM | Optimize the site, enable cache |
| 508 | Resource Limit Reached | Entry Processes | Enable cache, block bots |
| 509 | Bandwidth Exceeded | Bandwidth | Wait for the next month or upgrade |
Diagnosing a 500 error
- Check the error logs in cPanel → Metrics → Errors
- Check Resource Usage → RAM
- Test with a higher
memory_limit in php.ini
Diagnosing a 508 error
- Go to Resource Usage
- Check the Entry Processes
- Consult the Snapshots tab to see which script is causing the issue
- Block suspicious bots via .htaccess or Imunify360
🚀 Global Optimization: Checklist
✅ Essential Optimizations
□ Enable a caching system (LiteSpeed Cache, WP Super Cache)
□ Update PHP to the latest stable version (8.2 or 8.3)
□ Optimize images (compression, WebP format)
□ Enable GZIP compression
□ Disable unnecessary plugins/extensions
□ Configure a CDN (free Cloudflare)
✅ Advanced Optimizations
□ Optimize the database (repair, optimize tables)
□ Limit WordPress revisions (define('WP_POST_REVISIONS', 5);)
□ Configure browser cache (.htaccess)
□ Minify CSS and JavaScript
□ Load scripts asynchronously (defer, async)
□ Schedule CRON tasks during off-peak hours
✅ Regular Maintenance
□ Regularly clear the cache
□ Delete temporary files
□ Clean up old emails
□ Check error logs
□ Monitor resource usage
📊 Which Plan to Choose?
Comparison of needs by site type
| Site Type | CPU | RAM | Storage | Recommendation |
| Simple showcase site | 🟢 Low | 🟢 512 MB | 🟢 1-5 GB | Basic offer |
| WordPress blog | 🟢 Low | 🟡 1 GB | 🟢 5-10 GB | Standard offer |
| WordPress site + plugins | 🟡 Medium | 🟡 2 GB | 🟡 10-20 GB | Standard/pro offer |
| E-commerce (WooCommerce) | 🟠 High | 🔴 4 GB+ | 🟠 20-50 GB | Pro/VPS offer |
| High-traffic site | 🔴 High | 🔴 4 GB+ | Variable | VPS/Dedicated |
Signs it's time to upgrade
- 🔴 Frequent 508 errors despite optimization
- 🔴 CPU constantly at 100%
- 🔴 Constantly saturated RAM
- 🔴 Slow site despite cache enabled
- 🔴 Rapidly growing traffic
📝 Summary
THE 6 KEY RESOURCES:
├── ⚡ CPU → Processing power (503 error if saturated)
├── 🧠 RAM → Memory (500 error if saturated)
├── 💾 Storage → Disk space (uploads blocked if full)
├── 🌐 Bandwidth → Monthly traffic (509 error if exceeded)
├── 📊 I/O → Disk speed (slowness if saturated)
└── 📁 Inodes → Number of files (quota error if limit reached)
SIMULTANEOUS PROCESSES:
└── 🔄 Entry Processes → Simultaneous PHP connections (508 error)
WHERE TO CHECK:
├── Statistics Panel (right cPanel)
└── Metrics → Resource Usage
PRIORITY OPTIMIZATIONS:
├── 1. Enable cache
├── 2. Update PHP
├── 3. Optimize images
└── 4. Disable unnecessary plugins
📚 Related Articles
- 🚀 Optimizing your site's performance on cPanel
- 📊 Understanding Awstats and Webalizer statistics
- 🔧 Changing the PHP version on cPanel
- 💾 Managing backups on cPanel
- 🛡️ Securing your hosting with Imunify360