in pkg/sidecar_mounter/sidecar_mounter.go [158:193]
func logMemoryUsage(ctx context.Context, pid int) {
ticker := time.NewTicker(30 * time.Second)
filepath := fmt.Sprintf("/proc/%d/status", pid)
file, err := os.Open(filepath)
if err != nil {
klog.Errorf("failed to open %v: %v", filepath, err)
return
}
defer file.Close()
for {
select {
case <-ctx.Done():
return
case <-ticker.C:
_, err := file.Seek(0, io.SeekStart)
if err != nil {
klog.Errorf("failed to seek to the file beginning: %v", err)
return
}
scanner := bufio.NewScanner(file)
for scanner.Scan() {
line := scanner.Text()
if strings.HasPrefix(line, "VmRSS:") {
fields := strings.Fields(line)
klog.Infof("gcsfuse with PID %v uses VmRSS: %v %v", pid, fields[1], fields[2])
break
}
}
}
}
}