Przeglądaj źródła

test mytop

master
10195501441 3 lat temu
rodzic
commit
fa8be0e7e3
2 zmienionych plików z 32 dodań i 1 usunięć
  1. +27
    -0
      yeeshell.c
  2. +5
    -1
      yeeshell.h

+ 27
- 0
yeeshell.c Wyświetl plik

@ -518,6 +518,7 @@ void parse_file(pid_t pid)
FILE *fp;
struct proc *p;
int i;
int slot;
sprintf(path, "/proc/%d/psinfo", pid);
@ -545,6 +546,7 @@ void parse_file(pid_t pid)
}
slot++;
slot = SLOT_NR(endpt);
if (slot < 0 || slot >= nr_total)
{
@ -698,3 +700,28 @@ void print_procs(struct proc *proc1, struct proc *proc2, int cputimemode)
printf("%6.2f%% system", 100.0 * systemticks / total_ticks);
printf("%6.2f%% in total\n", 100.0 * (systemticks + userticks) / total_ticks);
}
u64_t cputicks(struct proc *p1, struct proc *p2, int timemode)
{
int i;
u64_t t = 0;
for (i = 0; i < CPUTIMENAMES; i++)
{
if (!CPUTIME(timemode, i))
{
continue;
}
if (p1->p_endpoint == p2->p_endpoint)
{
{
t = t + p2->p_cpucycles[i] - p1->p_cpucycles[i];
}
}
else
{
t = t + p2->p_cpucycles[i];
}
}
return t;
}

+ 5
- 1
yeeshell.h Wyświetl plik

@ -93,7 +93,11 @@ int builtin_history(char **args);
int builtin_mytop();
/* mytop routine */
int mytop_memory();
int mytop_CPU();
void get_procs();
void parse_dir();
void parse_file(pid_t pid);
void getkinfo();
void getkinfo();
void print_procs(struct proc *proc1, struct proc *proc2, int cputimemode);
u64_t cputicks(struct proc *p1, struct proc *p2, int timemode);

Ładowanie…
Anuluj
Zapisz