Merge pull request #909 from vishh/fs-fix-1
Reduce cpu priority for `du`
This commit is contained in:
commit
bacd1cf72d
2
fs/fs.go
2
fs/fs.go
@ -282,7 +282,7 @@ func (self *RealFsInfo) GetDirFsDevice(dir string) (*DeviceInfo, error) {
|
||||
}
|
||||
|
||||
func (self *RealFsInfo) GetDirUsage(dir string) (uint64, error) {
|
||||
out, err := exec.Command("du", "-s", dir).CombinedOutput()
|
||||
out, err := exec.Command("nice", "-n", "19", "du", "-s", dir).CombinedOutput()
|
||||
if err != nil {
|
||||
return 0, fmt.Errorf("du command failed on %s with output %s - %s", dir, out, err)
|
||||
}
|
||||
|
@ -15,7 +15,11 @@
|
||||
package fs
|
||||
|
||||
import (
|
||||
"io/ioutil"
|
||||
"os"
|
||||
"testing"
|
||||
|
||||
"github.com/stretchr/testify/assert"
|
||||
)
|
||||
|
||||
func TestGetDiskStatsMap(t *testing.T) {
|
||||
@ -76,3 +80,23 @@ func TestFileNotExist(t *testing.T) {
|
||||
t.Fatalf("getDiskStatsMap must not error for absent file: %s", err)
|
||||
}
|
||||
}
|
||||
|
||||
func TestDirUsage(t *testing.T) {
|
||||
as := assert.New(t)
|
||||
fsInfo, err := NewFsInfo(Context{})
|
||||
as.NoError(err)
|
||||
dir, err := ioutil.TempDir(os.TempDir(), "")
|
||||
as.NoError(err)
|
||||
defer os.RemoveAll(dir)
|
||||
dataSize := 1024 * 100 //100 KB
|
||||
b := make([]byte, dataSize)
|
||||
f, err := ioutil.TempFile(dir, "")
|
||||
as.NoError(err)
|
||||
as.NoError(ioutil.WriteFile(f.Name(), b, 0700))
|
||||
fi, err := f.Stat()
|
||||
as.NoError(err)
|
||||
expectedSize := uint64(fi.Size())
|
||||
size, err := fsInfo.GetDirUsage(dir)
|
||||
as.NoError(err)
|
||||
as.True(expectedSize <= size, "expected dir size to be at-least %d; got size: %d", expectedSize, size)
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user