• DPDK(二):准备知识2 --- cgroup


    原文: http://coolshell.cn/articles/17049.html
    一、简介
    Linux CGroup全称Linux Control Group,是Linux内核的一个功能,用来限制,控制与分离一个进程组群的资源(如CPU、内存、磁盘输入输出等)。
    主要提供了如下功能:
    Resource limitation: 限制资源使用,比如内存使用上限以及文件系统的缓存限制。
    Prioritization: 优先级控制,比如:CPU利用和磁盘IO吞吐。
    Accounting: 一些审计或一些统计,主要目的是为了计费。
    Control: 挂起进程,恢复执行进程。
    1、限制CPU利用率
    第一步:创建CPU cgroup
     /* 设置CPU利用率为50% */
    mkdir("/sys/fs/cgroup/cpu/haoel", 755);
    system("echo 50000 > /sys/fs/cgroup/cpu/haoel/cpu.cfs_quota_us");
     
    mkdir("/sys/fs/cgroup/cpuset/haoel", 755);
    /* 限制CPU只能使用#2核和#3核 */
    system("echo "2,3" > /sys/fs/cgroup/cpuset/haoel/cpuset.cpus");
    第二步:加入cgroup
     /* 把自己加入cgroup中(syscall(SYS_gettid)为得到线程的系统tid) */
     char cmd[128];
     sprintf(cmd, "echo %ld >> /sys/fs/cgroup/cpu/haoel/tasks", syscall(SYS_gettid));
     system(cmd);
     sprintf(cmd, "echo %ld >> /sys/fs/cgroup/cpuset/haoel/tasks", syscall(SYS_gettid));
     system(cmd);
    2、限制内存使用率
    # 创建memory cgroup
    $ mkdir /sys/fs/cgroup/memory/haoel
    $ echo 64k > /sys/fs/cgroup/memory/haoel/memory.limit_in_bytes

    # 把上面的进程的pid加入这个cgroup
    $ echo [pid] > /sys/fs/cgroup/memory/haoel/tasks

    3、磁盘I/O限制
    第一步:先创建一个blkio(块设备IO)的cgroup
    mkdir /sys/fs/cgroup/blkio/haoel
    第二步:模拟IO拷贝
    从/dev/sda1上读入数据,输出到/dev/null上。
    sudo dd if=/dev/sda1 of=/dev/null
    iotop命令我们可以看到相关的IO速度是55MB/s(虚拟机内)
    第三步:加入cgroup
    前面那个dd命令的pid放进去(注:8:0 是设备号,你可以通过ls -l /dev/sda1获得)
    root@ubuntu:~# echo '8:0 1048576'  > /sys/fs/cgroup/blkio/haoel/blkio.throttle.read_bps_device
    root@ubuntu:~# echo 8128 > /sys/fs/cgroup/blkio/haoel/tasks

  • 相关阅读:
    JDK中ClassLoader的分类以及ClassLoader间的层次关系
    java动态加载机制
    hibernate_boolean类型的处理
    hibernate_annotation字段映射位置
    hibernate基本配置
    hibernate3.3.2搭建Junit日志环境
    hibernate基本配置show_sql、sql_format
    hibernate3.3.2搭建log4j日志环境
    ios错误ignoring file xxx missing required architecture x86_64 in file
    转载 【iOS开发】网页JS与OC交互(JavaScriptCore) OC ----->JS
  • 原文地址:https://www.cnblogs.com/xiaomayi-cyj/p/10542932.html
Copyright © 2020-2023  润新知