diff -ub htop-0.9/CPUMeter.c htop-0.9patched/CPUMeter.c
--- htop-0.9/CPUMeter.c	2010-11-23 16:56:32.000000000 +0100
+++ htop-0.9patched/CPUMeter.c	2011-10-21 15:03:46.441520926 +0200
@@ -122,20 +122,46 @@
    }
 }
 
+static void AllCPUsMeter_getRange(Meter* this, int* start, int* incr, int* count) {
+   int cpus = this->pl->cpuCount;
+   switch(this->type->name[0]) {
+      default:
+      case 'A': // All
+         *start = 0;
+         *incr = 1;
+         *count = cpus;
+         break;
+      case 'E': // Even
+         *start = 0;
+         *incr = 2;
+         *count = (cpus + 1) / 2;
+         break;
+      case 'O': // Odd
+         *start = 1;
+         *incr = 2;
+         *count = cpus / 2;
+         break;
+   }
+}
+
 static void AllCPUsMeter_init(Meter* this) {
    int cpus = this->pl->cpuCount;
    this->drawBuffer = malloc(sizeof(Meter*) * cpus);
    Meter** meters = (Meter**) this->drawBuffer;
-   for (int i = 0; i < cpus; i++)
-      meters[i] = Meter_new(this->pl, i+1, &CPUMeter);
-   this->h = cpus;
+   int start, incr, count;
+   AllCPUsMeter_getRange(this, &start, &incr, &count);
+   for (int i = start, j = 0; i < cpus; i += incr, j++)
+      meters[j] = Meter_new(this->pl, i+1, &CPUMeter);
+   this->h = count;
    this->mode = BAR_METERMODE;
 }
 
 static void AllCPUsMeter_done(Meter* this) {
    int cpus = this->pl->cpuCount;
    Meter** meters = (Meter**) this->drawBuffer;
-   for (int i = 0; i < cpus; i++)
+   int start, incr, count;
+   AllCPUsMeter_getRange(this, &start, &incr, &count);
+   for (int i = 0; i < count; i++)
       Meter_delete((Object*)meters[i]);
 }
 
@@ -149,7 +175,9 @@
 static void AllCPUsMeter_draw(Meter* this, int x, int y, int w) {
    int cpus = this->pl->cpuCount;
    Meter** meters = (Meter**) this->drawBuffer;
-   for (int i = 0; i < cpus; i++) {
+   int start, incr, count;
+   AllCPUsMeter_getRange(this, &start, &incr, &count);
+   for (int i = 0; i < count; i++) {
       Meter_setMode(meters[i], this->mode);
       meters[i]->draw(meters[i], x, y, w);
       y += meters[i]->h;
@@ -182,3 +210,31 @@
    .setMode = AllCPUsMeter_setMode,
    .done = AllCPUsMeter_done
 };
+
+MeterType EvenCPUsMeter = {
+   .mode = 0,
+   .items = 1,
+   .total = 100.0,
+   .attributes = CPUMeter_attributes, 
+   .name = "EvenCPUs",
+   .uiName = "Even CPUs",
+   .caption = "CPU",
+   .draw = AllCPUsMeter_draw,
+   .init = AllCPUsMeter_init,
+   .setMode = AllCPUsMeter_setMode,
+   .done = AllCPUsMeter_done
+};
+
+MeterType OddCPUsMeter = {
+   .mode = 0,
+   .items = 1,
+   .total = 100.0,
+   .attributes = CPUMeter_attributes, 
+   .name = "OddCPUs",
+   .uiName = "Odd CPUs",
+   .caption = "CPU",
+   .draw = AllCPUsMeter_draw,
+   .init = AllCPUsMeter_init,
+   .setMode = AllCPUsMeter_setMode,
+   .done = AllCPUsMeter_done
+};
diff -ub htop-0.9/CPUMeter.h htop-0.9patched/CPUMeter.h
--- htop-0.9/CPUMeter.h	2010-11-23 16:57:06.000000000 +0100
+++ htop-0.9patched/CPUMeter.h	2011-10-21 15:03:47.041520895 +0200
@@ -34,4 +34,8 @@
 
 extern MeterType AllCPUsMeter;
 
+extern MeterType EvenCPUsMeter;
+
+extern MeterType OddCPUsMeter;
+
 #endif
diff -ub htop-0.9/Header.c htop-0.9patched/Header.c
--- htop-0.9/Header.c	2010-02-25 02:56:32.000000000 +0100
+++ htop-0.9patched/Header.c	2011-10-21 15:05:52.561532717 +0200
@@ -124,9 +124,11 @@
 }
 
 void Header_defaultMeters(Header* this) {
-   Vector_add(this->leftMeters, Meter_new(this->pl, 0, &AllCPUsMeter));
+   Vector_add(this->leftMeters, Meter_new(this->pl, 0, &EvenCPUsMeter));
    Vector_add(this->leftMeters, Meter_new(this->pl, 0, &MemoryMeter));
    Vector_add(this->leftMeters, Meter_new(this->pl, 0, &SwapMeter));
+   Vector_add(this->leftMeters, Meter_new(this->pl, 0, &CPUMeter));
+   Vector_add(this->rightMeters, Meter_new(this->pl, 0, &OddCPUsMeter));
    Vector_add(this->rightMeters, Meter_new(this->pl, 0, &TasksMeter));
    Vector_add(this->rightMeters, Meter_new(this->pl, 0, &LoadAverageMeter));
    Vector_add(this->rightMeters, Meter_new(this->pl, 0, &UptimeMeter));
diff -ub htop-0.9/Meter.c htop-0.9patched/Meter.c
--- htop-0.9/Meter.c	2010-11-23 16:56:32.000000000 +0100
+++ htop-0.9patched/Meter.c	2011-10-21 14:44:12.961520297 +0200
@@ -124,6 +124,8 @@
    &UptimeMeter,
    &BatteryMeter,
    &AllCPUsMeter,
+   &EvenCPUsMeter,
+   &OddCPUsMeter,
    &HostnameMeter,
    NULL
 };
