docker容器运行时,可能对应的进程有多个,下面通过一个shell语句可以统计一个容器占用的进程数和句柄数
#! /bin/sh
dockerlist=(management
sso
udrpc
cron-dispatcher)
echo "容器名 进程数 句柄总数" >>/home/admin/sortDocker.txt
for v in ${dockerlist[@]}
do
result1=`docker container top $v | awk 'NR == 1 {next}{print$2}' | wc -l`
result2=`docker container top $v | awk 'NR == 1 {next}{print$2}'| xargs -i ls -l /proc/{}/fd | wc -l`
echo $v $result1 $result2>> /home/admin/sortDocker.txt
done
统计容器的进程数:
docker container top 容器名 | awk 'NR == 1 {next}{print$2}' | wc -l
统计容器的句柄总数:
docker container top 容器名 | awk 'NR == 1 {next}{print$2}'| xargs -i ls -l /proc/{}/fd | wc -l