From: Chunxin Zang <zangchunxin@xxxxxxxxxxxxx>
On our server, there are about 10k memcg in one machine. They use memory
very frequently. We have observed that drop_caches can take a
considerable amount of time, and can't stop it.
There are two reasons:
1. There is somebody constantly generating more objects to reclaim
on drop_caches, result the 'freed' always bigger than 10.
2. The process has no chance to process signals.
We can get the following info through 'ps':
root:~# ps -aux | grep drop
root 357956 ... R Aug25 21119854:55 echo 3 > /proc/sys/vm/drop_caches
root 1771385 ... R Aug16 21146421:17 echo 3 > /proc/sys/vm/drop_caches
Add a bail out on the fatal signals in the main loop so that the
operation can be terminated by userspace.
Signed-off-by: Chunxin Zang <zangchunxin@xxxxxxxxxxxxx>
Signed-off-by: Muchun Song <songmuchun@xxxxxxxxxxxxx>