}
if ((fd = open(DEFAULTCONFDIR "/cgroup/mnt", O_RDONLY)) == -1) {
- strcpy(cgroup, "/dev/cgroup/");
- cgroup_len = sizeof("/dev/cgroup");
+ if (utilvserver_isDirectory("/sys/fs/cgroup/memory", false)) {
+ strcpy(cgroup, "/sys/fs/cgroup/");
+ cgroup_len = sizeof("/sys/fs/cgroup");
+ per_ss = 1;
+ } else {
+ strcpy(cgroup, "/dev/cgroup/");
+ cgroup_len = sizeof("/dev/cgroup");
+ }
}
else {
cgroup_len = read(fd, cgroup, sizeof(cgroup));
}
snprintf(filename, sizeof(filename), "%s%s%s/memory.stat", cgroup, (per_ss ? "/memory" : ""), name);
- if ((fp = fopen(filename, "r")) == -1)
+ if ((fp = fopen(filename, "r")) == NULL)
perror("open(memory.stat)");
else {
unsigned long long _rss = 0, _mapped_file = 0;