Correctly display the memory size of the processes
(Old svn revision: 4744)
This commit is contained in:
@@ -336,6 +336,10 @@ void change_list_store_view(void)
|
||||
|
||||
void fill_list_item(gint i, GtkTreeIter *iter)
|
||||
{
|
||||
static gint pagesize = 0;
|
||||
if (pagesize == 0)
|
||||
pagesize = getpagesize();
|
||||
|
||||
if(iter != NULL)
|
||||
{
|
||||
struct task *task = &g_array_index(task_array, struct task, i);
|
||||
@@ -343,8 +347,8 @@ void fill_list_item(gint i, GtkTreeIter *iter)
|
||||
gchar *pid = g_strdup_printf("%i", task->pid);
|
||||
gchar *ppid = g_strdup_printf("%i", task->ppid);
|
||||
gchar *state = g_strdup_printf("%s", task->state);
|
||||
gchar *size = g_strdup_printf("%i kB", task->size/1024);
|
||||
gchar *rss = g_strdup_printf("%i kB", task->rss/1024);
|
||||
gchar *vsize = g_strdup_printf("%i MB", task->vsize/1024/1024);
|
||||
gchar *rss = g_strdup_printf("%i MB", task->rss*pagesize/1024/1024);
|
||||
gchar *name = g_strdup_printf("%s", task->name);
|
||||
gchar *uname = g_strdup_printf("%s", task->uname);
|
||||
gchar *time = g_strdup_printf("%0d%%", (guint)task->time_percentage);
|
||||
@@ -354,7 +358,7 @@ void fill_list_item(gint i, GtkTreeIter *iter)
|
||||
gtk_tree_store_set(GTK_TREE_STORE(list_store), iter, COLUMN_PID, pid, -1);
|
||||
gtk_tree_store_set(GTK_TREE_STORE(list_store), iter, COLUMN_PPID, ppid, -1);
|
||||
gtk_tree_store_set(GTK_TREE_STORE(list_store), iter, COLUMN_STATE, state, -1);
|
||||
gtk_tree_store_set(GTK_TREE_STORE(list_store), iter, COLUMN_MEM, size, -1);
|
||||
gtk_tree_store_set(GTK_TREE_STORE(list_store), iter, COLUMN_MEM, vsize, -1);
|
||||
gtk_tree_store_set(GTK_TREE_STORE(list_store), iter, COLUMN_RSS, rss, -1);
|
||||
gtk_tree_store_set(GTK_TREE_STORE(list_store), iter, COLUMN_UNAME, uname, -1);
|
||||
gtk_tree_store_set(GTK_TREE_STORE(list_store), iter, COLUMN_TIME, time, -1);
|
||||
@@ -363,7 +367,7 @@ void fill_list_item(gint i, GtkTreeIter *iter)
|
||||
g_free(pid);
|
||||
g_free(ppid);
|
||||
g_free(state);
|
||||
g_free(size);
|
||||
g_free(vsize);
|
||||
g_free(rss);
|
||||
g_free(name);
|
||||
g_free(uname);
|
||||
|
||||
@@ -32,7 +32,7 @@ struct task
|
||||
gchar uname[64];
|
||||
gchar name[64];
|
||||
gchar state[16];
|
||||
gint size;
|
||||
gint vsize;
|
||||
gint rss;
|
||||
gboolean checked;
|
||||
gint time;
|
||||
|
||||
@@ -74,8 +74,8 @@ struct task get_task_details(gint pid)
|
||||
|
||||
&idummy, // itrealvalue time in jiffies to next SIGALRM send to this process
|
||||
&idummy, // starttime jiffies the process startet after system boot
|
||||
&task.size, // vsize in bytes
|
||||
&task.rss, // rss
|
||||
&task.vsize, // vsize in bytes
|
||||
&task.rss, // rss (number of pages in real memory)
|
||||
dummy, // rlim limit in bytes for rss
|
||||
|
||||
dummy, // startcode
|
||||
@@ -101,7 +101,6 @@ struct task get_task_details(gint pid)
|
||||
task.time = stime + utime;
|
||||
task.old_time = task.time;
|
||||
task.time_percentage = 0;
|
||||
task.size = task.size / 1024;
|
||||
}
|
||||
task.uid = status.st_uid;
|
||||
passwdp = getpwuid(task.uid);
|
||||
|
||||
Reference in New Issue
Block a user