我试图记录像周期这样的指标,一个名为memcached的应用程序的指令。要运行此应用程序,我按照以下步骤操作:
1)使用以下命令启动服务器:
memcached -t 4 -m 4096 -n 550
2)使用以下命令启动客户端:
./loader -a ../twitter_dataset/twitter_dataset_30x -s servers.txt -g 0.8 -T 1 -c 200 -w 8 -e -r (requests_per_second)
所以现在memcached正在运行4个线程。
现在我尝试使用此工具使用perf工具捕获指标:
perf stat --log-fd 3 -e cycles memcached -t 4 -m 4096 -n 550 3>result.log
但是,由于服务器已在运行,因此我收到端口已在使用中的错误。
当我尝试使用perf属性的-p(pid)参数捕获指标时,我认为我输错了。我的意思是,我想记录服务器运行时的指标。因为我认为perf首先执行命令,然后等待它完成执行,然后给出结果。由于memcached将永远运行,我没有得到任何结果。任何人都可以在这里解释替代方案(或我做错了什么)?