青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品

Onway

我是一只菜菜菜菜鳥...
posts - 61, comments - 56, trackbacks - 0, articles - 34

Linux進程資源在fork和execve前后的變化

Posted on 2013-05-10 20:21 Onway 閱讀(2575) 評論(2)  編輯 收藏 引用 所屬分類: 碼兒快跑
使用getrusage得到的資源統計的類型較多,測試代碼是僅針對ru_utime, ru_stime, ru_minflt三種類型的資源。
測試環境:Linux kubuntu 3.2.0-38-generic-pae #61-Ubuntu SMP Tue Feb 19 12:39:51 UTC 2013 i686 i686 i386 GNU/Linux
結論:父進程fork得到的子進程的資源使用被重置,子進程使用execve之后的資源使用不變。
parent.c:
#include <stdio.h>
#include <stdlib.h>
#include <unistd.h>
#include <sys/time.h>
#include <sys/resource.h>

void
print_rusage(const char * where)
{
    struct rusage used;
    getrusage(RUSAGE_SELF, &used);

    printf("In %s:\n", where);
    printf("user cpu time: %ld(ms)\n",
            used.ru_utime.tv_sec * 1000 + used.ru_utime.tv_usec / 1000);
    printf("sys cpu time: %ld(ms)\n",
            used.ru_stime.tv_sec * 1000 + used.ru_stime.tv_usec / 1000);
    printf("soft page faults: %ld\n", used.ru_minflt);
    printf("\n");
}

void
consume_rusage()
{
    int i, j, k;
    char * s = NULL;

    /* about 3 seconds user cpu time */
    for (i = 0; i < 1000; ++i)
        for (j = 0; j < 1000; ++j)
            for (k = 0; k < 1000; ++k)
                i / (j + 1) * k;
    
    /* 1000 soft page faults */
    k = 4096 * 1000;
    s = (char *)malloc(k);
    for (i = 0; i < k; ++i)
        s[i] = 'a';
}

int
main(int argc, char *argv[])
{
    consume_rusage();
    print_rusage("parent process");

    if (fork() == 0) {
        print_rusage("child process, after fork");
        printf("consuming resource \n\n");
        consume_rusage();
        print_rusage("child process, before execve");
        printf("excl child program now \n\n");
        execl("./child", "./child", (void *)0);
    }

    wait(NULL);
    return 0;
}

child.c:
#include <stdio.h>
#include <sys/time.h>
#include <sys/resource.h>

void
print_rusage(const char * where)
{
    struct rusage used;
    getrusage(RUSAGE_SELF, &used);

    printf("In %s:\n", where);
    printf("user cpu time: %ld(ms)\n",
            used.ru_utime.tv_sec * 1000 + used.ru_utime.tv_usec / 1000);
    printf("sys cpu time: %ld(ms)\n",
            used.ru_stime.tv_sec * 1000 + used.ru_stime.tv_usec / 1000);
    printf("soft page faults: %ld\n", used.ru_minflt);
    printf("\n");
}

int
main(int argc, char *argv[])
{
    print_rusage("child program");
    return 0;
}   

好久沒寫博客了,密碼都快忘記了。寫給自己的記憶。

Feedback

# re: Linux進程資源在fork和execve前后的變化  回復  更多評論   

2013-05-23 16:15 by lugesot
您好,能否簡單解釋下soft page faults?
child.c 運行本身不耗什么資源,所有,它還有說服力嗎?謝謝

# re: Linux進程資源在fork和execve前后的變化  回復  更多評論   

2013-06-05 12:10 by Onway
@lugesot
soft page faults,我的理解是內存缺頁次數,即需要從虛擬內存載入到實際內存的頁數。
正是由于child.c本身不耗費什么資源,而其資源使用輸出卻很大,這說明了子進程在fork之后的資源使用會被execve繼承。
青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品
  • <ins id="pjuwb"></ins>
    <blockquote id="pjuwb"><pre id="pjuwb"></pre></blockquote>
    <noscript id="pjuwb"></noscript>
          <sup id="pjuwb"><pre id="pjuwb"></pre></sup>
            <dd id="pjuwb"></dd>
            <abbr id="pjuwb"></abbr>
            夜夜嗨av色一区二区不卡| 欧美大色视频| 国产欧美日韩91| 欧美三区美女| 欧美午夜精品久久久久久人妖| 麻豆国产精品va在线观看不卡| 久久天天躁狠狠躁夜夜av| 久久久精品日韩欧美| 先锋影音久久久| 久久综合图片| 欧美黄色一级视频| 欧美日韩一区在线观看| 国产精品美女999| 国产亚洲激情在线| 在线观看的日韩av| 日韩天堂在线观看| 久久精品成人一区二区三区蜜臀 | 久久久久综合网| 久久久久久久国产| 久久精品一二三| 久久先锋影音| 亚洲国产成人av好男人在线观看| 亚洲欧洲精品一区| 亚洲免费观看高清完整版在线观看| 日韩午夜在线视频| 欧美一区二区免费视频| 免费一级欧美片在线播放| 国产精品久久久久999| 国内久久精品视频| 亚洲视频你懂的| 美女网站久久| 亚洲欧美日韩高清| 欧美性色aⅴ视频一区日韩精品| 红桃视频成人| 欧美一区视频| 亚洲午夜精品一区二区| 欧美精品一区三区| 激情六月婷婷久久| 久久国内精品视频| 亚洲毛片一区二区| 欧美黄色成人网| 亚洲国产精品va在线看黑人| 欧美影院在线| 亚洲一区二区免费视频| 欧美日韩国产一区二区三区地区| 亚洲电影有码| 欧美成人在线免费视频| 欧美一区1区三区3区公司| 国产精品www994| 亚洲一二三区在线| 99热这里只有精品8| 欧美日本一区二区高清播放视频| 亚洲国产影院| 亚洲福利专区| 欧美18av| 99视频一区| 亚洲国产精品va| 蜜臀av性久久久久蜜臀aⅴ| 影音先锋一区| 免费观看30秒视频久久| 久久精彩视频| 尤物视频一区二区| 欧美成人嫩草网站| 免费亚洲电影| 亚洲作爱视频| 亚洲无玛一区| 国产欧美二区| 久久久久久9| 久久综合999| 亚洲美女黄色片| 亚洲日韩视频| 国产精品一区免费观看| 久久久久国产精品厨房| 老司机免费视频一区二区三区| 亚洲人成小说网站色在线| 亚洲国产成人av好男人在线观看| 欧美激情一区二区三区高清视频| 亚洲免费在线视频一区 二区| 亚洲破处大片| 欧美韩国日本一区| 亚洲天堂网在线观看| 亚洲一区视频在线| 国产一区二区黄| 欧美成人亚洲成人| 欧美日韩在线观看视频| 久久精品国产免费观看| 久久综合久久综合久久| 亚洲综合日韩在线| 久久午夜av| 亚洲综合色在线| 欧美成人自拍| 久久精品av麻豆的观看方式| 免费成人av在线看| 欧美一区二区三区视频| 欧美国产成人在线| 久久嫩草精品久久久久| 欧美香蕉大胸在线视频观看| 欧美h视频在线| 欧美午夜精品电影| 欧美r片在线| 国产乱人伦精品一区二区 | 香蕉成人久久| 欧美大片免费久久精品三p | 亚洲精品视频一区| 午夜欧美精品| 在线亚洲激情| 欧美搞黄网站| 欧美成人一区二免费视频软件| 国产精品福利网站| 亚洲电影自拍| 亚洲第一久久影院| 久久精品导航| 久久久91精品国产| 国产精品免费视频xxxx| 亚洲精品一级| 亚洲精品午夜精品| 久久麻豆一区二区| 久久国产一区二区三区| 欧美网站在线| 日韩图片一区| 99精品视频一区| 欧美aaaaaaaa牛牛影院| 免费在线一区二区| 一区二区在线观看视频| 欧美一区二区福利在线| 午夜在线不卡| 国产精品theporn88| 日韩视频不卡| 一区二区免费在线视频| 欧美精品在线视频| 亚洲国产精品视频| 亚洲另类春色国产| 欧美日韩免费| 在线一区欧美| 欧美一区二区精品| 国产一区欧美| 久久综合狠狠综合久久综合88 | 亚洲伦理网站| 欧美大片一区二区三区| 亚洲电影在线看| 久久一区欧美| 蜜臀av性久久久久蜜臀aⅴ| 国产亚洲va综合人人澡精品| 欧美一级久久| 久久久精品国产免大香伊| 一区二区三区在线看| 另类图片国产| 亚洲国产另类久久精品| 艳妇臀荡乳欲伦亚洲一区| 欧美视频在线观看| 亚洲免费影视| 玖玖玖国产精品| 亚洲精品欧洲| 国产精品手机在线| 久久国产精品久久w女人spa| 久久久久久久久久码影片| 1024欧美极品| 欧美日韩亚洲国产精品| 亚洲一区二区三区精品在线| 欧美一区二区免费观在线| 国产亚洲精品bv在线观看| 久久久精品动漫| 亚洲免费播放| 久久天天躁狠狠躁夜夜av| 日韩视频在线你懂得| 国产精品国产| 久久精品亚洲一区二区| 亚洲国产精品久久久久秋霞影院| 午夜精品婷婷| 亚洲欧洲一区二区三区| 国产农村妇女精品一区二区| 欧美激情第1页| 久久国产88| 亚洲一区二区三区视频| 牛牛影视久久网| 午夜精品久久久| 最新成人在线| 韩国av一区二区三区四区| 欧美日韩国产综合一区二区| 欧美一区二区在线免费观看| 99精品国产99久久久久久福利| 久久阴道视频| 午夜影院日韩| 亚洲一区成人| 亚洲激情第一页| 国产欧美在线视频| 欧美日韩一区二区三区在线视频| 久久亚洲色图| 久久精品欧洲| 欧美一区在线直播| 亚洲视频一区在线| 亚洲欧洲综合| 免费人成精品欧美精品| 欧美综合国产| 欧美一级片一区| 亚洲欧美日韩在线高清直播| 99riav久久精品riav| 亚洲国产小视频在线观看| 一色屋精品视频在线观看网站| 国产精品女人久久久久久|