The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]

форумы  помощь  поиск  регистрация  майллист  ВХОД  слежка  RSS
"как узнать размер виртуальной памяти, выделенной вызывающему..."
Вариант для распечатки Архивированная нить - только для чтения! 
Пред. тема | След. тема 
Форумы Программирование под UNIX (Public)
Изначальное сообщение [Проследить за развитием треда]

"как узнать размер виртуальной памяти, выделенной вызывающему..."
Сообщение от Glen emailИскать по авторуВ закладки on 02-Сен-03, 13:19  (MSK)
Hi All,


Знает кто-нибудь функцию SunOS 5.9, которой можно было бы узнать размер
виртуальной памяти, выделенной вызывающему процессу в данный момент? В Win32 такую задачу решают функции GlobalMemoryStatus/GlobalMemoryStatusEx.

Thanks,

Victor

  Рекомендовать в FAQ | Cообщить модератору | Наверх

 Оглавление

Индекс форумов | Темы | Пред. тема | След. тема
Сообщения по теме

1. "как узнать размер виртуальной памяти, выделенной вызывающему..."
Сообщение от Макс Зиналь emailИскать по авторуВ закладки on 02-Сен-03, 19:51  (MSK)
Как и во многих других современных UNIX-подобных системах,
в Solaris выдача информации о процессе организована через
файловую систему /proc. Следует смотреть в 4-м разделе
man документацию на proc. Вообще говоря, нужно прочитать
и разобрать бинарный файлик /proc/<PID>/status, содержащий
следующую информацию:

typedef struct pstatus {
     int pr_flags;             /* flags (see below) */
     int pr_nlwp;              /* number of lwps in the process */
     pid_tpr_pid;              /* process id */
     pid_tpr_ppid;             /* parent process id */
     pid_tpr_pgid;             /* process group id */
     pid_tpr_sid;              /* session id */
     id_t pr_aslwpid;          /* obsolete */
     id_t pr_agentid;          /* lwp-id of the agent lwp, if any */
     sigset_t pr_sigpend;      /* set of process pending signals */
     uintptr_t pr_brkbase;     /* virtual address of the process heap */
     size_t pr_brksize;        /* size of the process heap, in bytes */
     uintptr_t pr_stkbase;     /* virtual address of the process stack */
     size_tpr_stksize;         /* size of the process stack, in bytes */
     timestruc_t pr_utime;     /* process user cpu time */
     timestruc_t pr_stime;     /* process system cpu time */
     timestruc_t pr_cutime;    /* sum of children's user times */
     timestruc_t pr_cstime;    /* sum of children's system times */
     sigset_t pr_sigtrace;     /* set of traced signals */
     fltset_t pr_flttrace;     /* set of traced faults */
     sysset_t pr_sysentry;     /* set of system calls traced on entry */
     sysset_t pr_sysexit;      /* set of system calls traced on exit */
     char pr_dmodel;           /* data model of the process */
     taskid_t pr_taskid;       /* task id */
     projid_t pr_projid;       /* project id */
     lwpstatus_t pr_lwp;       /* status of the representative lwp */
} pstatus_t;

Вот ссылка на соответствующий man на http://docs.sun.com:
http://docs.sun.com/db/doc/817-0683/6mgff29c4?q=process+info+/proc&a=view

  Рекомендовать в FAQ | Cообщить модератору | Наверх


Удалить

Индекс форумов | Темы | Пред. тема | След. тема
Пожалуйста, прежде чем написать сообщение, ознакомьтесь с данными рекомендациями.




Партнёры:
PostgresPro
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

Закладки на сайте
Проследить за страницей
Created 1996-2025 by Maxim Chirkov
Добавить, Поддержать, Вебмастеру