在Linux系统中,Memcached作为一款高性能的内存对象缓存系统,广泛应用于动态Web应用以减轻数据库负载,掌握查看Memcached状态及配置的方法,是运维和开发人员必备技能,本文将详细介绍通过Linux命令行工具全面了解Memcached运行状态的多种方式,包括连接检查、状态监控、配置查看及日志分析等核心内容。

基础连接与状态检查
要查看Memcached的运行状态,首先需确认服务是否正常监听,通过netstat或ss命令可快速检查Memcached的端口监听情况,默认情况下,Memcached监听11211端口,使用以下命令:
netstat -tuln | grep 11211 # 或使用ss命令(推荐,更高效) ss -tuln | grep 11211
若命令返回类似tcp 0 0 127.0.0.1:11211 0.0.0.0:* LISTEN的结果,表明Memcached已正常启动并监听指定端口。
可通过telnet或nc(netcat)工具直接连接Memcached服务器执行命令,这是查看实时状态的最直接方式。
telnet 127.0.0.1 11211
连接成功后,输入stats命令即可获取Memcached的详细运行统计信息,包括连接数、内存使用情况、命中率等核心指标。
核心统计信息解析
stats命令是Memcached状态监控的核心,其返回信息包含多个关键参数,以下为常用字段的解读:

pid:Memcached进程ID,可用于进程管理操作。uptime:服务运行时长(秒),结合time字段可计算启动时间。curr_connections:当前活跃连接数,反映当前客户端连接规模。total_connections:历史总连接数,用于评估服务负载趋势。cmd_get/cmd_set:累计GET/请求数,体现缓存读写频率。get_hits/get_misses:缓存命中/未命中次数,通过(get_hits/(get_hits+get_misses))*100可计算命中率,是衡量缓存效果的核心指标。bytes_used/bytes_free:已使用/剩余内存字节数,结合limit_maxbytes可查看内存使用率。evictions:因内存不足被淘汰的对象数量,频繁淘汰可能需调整内存配置。
若需查看更详细的状态信息,可使用stats items命令,按 slab class 分类显示缓存项统计,帮助定位内存分配问题;stats slabs则展示各 slab 类的内存使用详情,包括已分配内存块数量、空闲块数量等。
配置信息查看
Memcached的运行参数通常通过启动命令配置,若需查看当前生效的配置,可通过stats settings命令获取,该命令返回的参数包括:
maxbytes:最大内存限制(字节),默认为64MB(可通过-m参数调整)。max_connections:最大并发连接数(默认1024,-c参数设置)。tcp_keepalive:TCP保活机制开关(默认关闭,-k参数启用)。verbose:详细日志级别(默认0,-v参数提升级别)。eviction_policy:淘汰策略,支持LRU(最近最少使用,默认)、LFU(最不经常使用)等,通过-f参数调整。
若需查看启动时的完整命令行参数,可通过ps命令结合grep过滤Memcached进程:
ps aux | grep memcached
输出结果中的/usr/bin/memcached之后的部分即为启动参数,例如-m 512 -c 1024 -p 11211表示分配512MB内存、最大1024连接。
日志与错误排查
Memcached的日志输出默认较为简洁,错误信息通常会打印到系统日志(如/var/log/syslog或/var/log/messages),通过journalctl(systemd系统)或grep过滤日志可定位问题:

# 查看系统日志中Memcached相关记录 journalctl -u memcached -f # 或在传统syslog中过滤 grep memcached /var/log/syslog
常见问题及排查方向:
- 连接超时:检查
max_connections是否达到上限,或客户端网络是否通畅。 - 内存不足告警:观察
evictions数值,若持续增长可考虑增加maxbytes或优化缓存策略。 - 命中率低:分析
get_misses占比,检查缓存键设计是否合理,是否出现缓存穿透或雪崩。
高级监控与工具集成
对于生产环境,建议结合监控工具实现Memcached状态的可视化与告警,常用的Linux监控工具包括:
memcached-tool:Memcached自带的管理工具,可查看内存分配统计,memcached-tool 127.0.0.1:11211 stats memcached-tool 127.0.0.1:11211 display
Prometheus + Grafana:通过memcached_exporter采集指标,Grafana展示仪表盘,实现长期趋势分析与告警。Nagios/Zabbix:通过自定义脚本定期采集stats数据,集成到现有监控系统中。
安全与权限管理
查看Memcached状态时需注意权限控制,默认情况下仅本地可连接,若需远程监控,建议:
- 限制访问IP,通过防火墙(如
iptables或firewalld)仅允许监控服务器访问11211端口。 - 启用
SASL认证(需编译时开启支持),避免未授权访问。
通过以上方法,可全面掌握Linux环境下Memcached的运行状态,为性能优化和故障排查提供有力支持。










