Index: kernel/generic/include/ps/taskinfo.h
===================================================================
--- kernel/generic/include/ps/taskinfo.h	(revision 36b5b0f4924a92f9251ada2ed3d412d51f4eb621)
+++ kernel/generic/include/ps/taskinfo.h	(revision 7a3ccbc6e1c0aa8975d8336895a58f02c44c4808)
@@ -48,5 +48,5 @@
 	task_id_t taskid;
 	char name[TASK_NAME_BUFLEN];
-	size_t pages;
+	uint64_t virt_mem;
 	int thread_count;
 	uint64_t ucycles;
Index: kernel/generic/src/ps/ps.c
===================================================================
--- kernel/generic/src/ps/ps.c	(revision 36b5b0f4924a92f9251ada2ed3d412d51f4eb621)
+++ kernel/generic/src/ps/ps.c	(revision 7a3ccbc6e1c0aa8975d8336895a58f02c44c4808)
@@ -90,5 +90,5 @@
 }
 
-static size_t get_pages_count(as_t *as)
+static uint64_t get_task_memory(as_t *as)
 {
 	mutex_lock(&as->lock);
@@ -115,5 +115,5 @@
 	mutex_unlock(&as->lock);
 	
-	return result;
+	return result * PAGE_SIZE;
 }
 
@@ -144,6 +144,6 @@
 	copy_to_uspace(&uspace_info->kcycles, &kcycles, sizeof(uint64_t));
 
-	size_t pages = get_pages_count(t->as);
-	copy_to_uspace(&uspace_info->pages, &pages, sizeof(pages));
+	uint64_t memory = get_task_memory(t->as);
+	copy_to_uspace(&uspace_info->virt_mem, &memory, sizeof(memory));
 
 	int thread_count = atomic_get(&t->refcount);
Index: uspace/app/ps/ps.c
===================================================================
--- uspace/app/ps/ps.c	(revision 36b5b0f4924a92f9251ada2ed3d412d51f4eb621)
+++ uspace/app/ps/ps.c	(revision 7a3ccbc6e1c0aa8975d8336895a58f02c44c4808)
@@ -76,5 +76,5 @@
 	}
 
-	printf("      ID  Threads    Pages       uCycles       kCycles   Cycle fault Name\n");
+	printf("      ID  Threads      Mem       uCycles       kCycles   Cycle fault Name\n");
 
 	int i;
@@ -82,10 +82,11 @@
 		task_info_t taskinfo;
 		get_task_info(tasks[i], &taskinfo);
-		uint64_t ucycles, kcycles;
-		char usuffix, ksuffix;
+		uint64_t mem, ucycles, kcycles;
+		char memsuffix, usuffix, ksuffix;
+		order(taskinfo.virt_mem, &mem, &memsuffix);
 		order(taskinfo.ucycles, &ucycles, &usuffix);
 		order(taskinfo.kcycles, &kcycles, &ksuffix);
-		printf("%8llu %8u %8u %12llu%c %12llu%c %s\n", tasks[i],
-			taskinfo.thread_count, taskinfo.pages, ucycles, usuffix,
+		printf("%8llu %8u %8llu%c %12llu%c %12llu%c %s\n", tasks[i],
+			taskinfo.thread_count, mem, memsuffix, ucycles, usuffix,
 			kcycles, ksuffix, taskinfo.name);
 	}
Index: uspace/app/top/screen.c
===================================================================
--- uspace/app/top/screen.c	(revision 36b5b0f4924a92f9251ada2ed3d412d51f4eb621)
+++ uspace/app/top/screen.c	(revision 7a3ccbc6e1c0aa8975d8336895a58f02c44c4808)
@@ -155,9 +155,12 @@
 			return;
 		task_info_t *taskinfo = &data->taskinfos[i];
-		printf("%8llu %8u %8u ", taskinfo->taskid,
-			taskinfo->thread_count, taskinfo->pages);
+		uint64_t mem;
+		char suffix;
+		order(taskinfo->virt_mem, &mem, &suffix);
+		printf("%8llu %8u %8llu%c ", taskinfo->taskid,
+			taskinfo->thread_count, mem, suffix);
 		task_perc_t *taskperc = &data->task_perc[i];
 		puts("   ");
-		print_float(taskperc->pages, 2);
+		print_float(taskperc->mem, 2);
 		puts("%   ");
 		print_float(taskperc->ucycles, 2);
@@ -173,5 +176,5 @@
 	fflush(stdout);
 	console_set_rgb_color(fphone(stdout), WHITE, BLACK);
-	printf("      ID  Threads    Pages    %%Pages %%uCycles %%kCycles Name");
+	printf("      ID  Threads      Mem      %%Mem %%uCycles %%kCycles Name");
 	int i;
 	for (i = 60; i < colls; ++i)
Index: uspace/app/top/top.c
===================================================================
--- uspace/app/top/top.c	(revision 36b5b0f4924a92f9251ada2ed3d412d51f4eb621)
+++ uspace/app/top/top.c	(revision 7a3ccbc6e1c0aa8975d8336895a58f02c44c4808)
@@ -111,5 +111,5 @@
 
 	/* For all tasks compute sum and differencies of all cycles */
-	uint64_t pages_total = 0;
+	uint64_t mem_total = 0;
 	uint64_t ucycles_total = 0;
 	uint64_t kcycles_total = 0;
@@ -131,5 +131,5 @@
 		kcycles_diff[i] = new_data->taskinfos[i].kcycles - old_data->taskinfos[j].kcycles;
 
-		pages_total += new_data->taskinfos[i].pages;
+		mem_total += new_data->taskinfos[i].virt_mem;
 		ucycles_total += ucycles_diff[i];
 		kcycles_total += kcycles_diff[i];
@@ -139,5 +139,5 @@
 	new_data->task_perc = malloc(new_data->task_count * sizeof(task_perc_t));
 	for (i = 0; i < new_data->task_count; ++i) {
-		new_data->task_perc[i].pages = (float)(new_data->taskinfos[i].pages * 100) / pages_total;
+		new_data->task_perc[i].mem = (float)(new_data->taskinfos[i].virt_mem * 100) / mem_total;
 		new_data->task_perc[i].ucycles = (float)(ucycles_diff[i] * 100) / ucycles_total;
 		new_data->task_perc[i].kcycles = (float)(kcycles_diff[i] * 100) / kcycles_total;
Index: uspace/app/top/top.h
===================================================================
--- uspace/app/top/top.h	(revision 36b5b0f4924a92f9251ada2ed3d412d51f4eb621)
+++ uspace/app/top/top.h	(revision 7a3ccbc6e1c0aa8975d8336895a58f02c44c4808)
@@ -46,5 +46,5 @@
 	float ucycles;
 	float kcycles;
-	float pages;
+	float mem;
 } task_perc_t;
 
