- 论坛徽章:
- 0
|
执行了这个命令,当前窗口就不能用了,命令如下:
tso:/data $ printf "%d\n" {10000..30000000} > uin.txt
tso:/data $ ls -lh uin.txt
-bash: fork: Cannot allocate memory
在此窗口执行任何命令都是相同的如下输出:
-bash: fork: Cannot allocate memory
另外一个窗口可用,可以看到如下信息:
tso:/data $ ls -lh uin.txt
-rw-r--r-- 1 tso users 247M Dec 1 19:00 uin.txt
tso:/data $ free -m
total used free shared buffers cached
Mem: 7980 5696 2283 0 3 41
-/+ buffers/cache: 5651 2329
Swap: 1961 14 1946
top可以看到前一个窗口的bash 占用了8G内存机器的68.8%,近5.5G的内存
PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND
31298 tso 15 0 5505m 5.4g 1640 S 0 68.8 2:18.72 bash
tso:/data $ bash --version
GNU bash, version 3.1.17(1)-release (x86_64-suse-linux)
Copyright (C) 2005 Free Software Foundation, Inc.
想知道这个命令生成250M的文件,为什么会占用5G多的内存,而且命令执行完成后bash占用的内存并没有释放。必须杀掉出错的窗口后,5G的内存才得以释放。 |
|