㈠ 在linux中启动memcached出问题
谢谢 ,我试试回复 linux_c_py_php 蛇兄,前天关于将完成端口改为Epoll后,效率变慢问题,看了一下网卡的速度,发现windows下是1G/s,而在linux下却是100M/s,不知是否与这有关 # mii-tool eth0eth0: negotiated 100baseTx-FD flow-control, link ok回复 linux_c_py_php
㈡ 如何在Linux下安装Memcached
在Linux下安装Memcached方法:
到官网下载安装文件。
在命令行输入:kill `cat /tmp/memcached.pid`可结束掉服务。
㈢ linux memcached怎么设置开机自动启动
ps -aux |grep memcached 进程抓取,如果是桌面版的打开终端,服务器版的直接输入该命令即可抓取进程。 ps -aux显示所有进程。 根据自己需要来看哦。 如有疑问,欢迎追问。
㈣ 在linux中启动memcached出问题!
MemCache是高性能分布式内存对象缓存系统(将数据调用到内存中,然后在内存中读取,从而大大提高读取速度)
Memcached安装与启动:
安装memcached需要先安装libevent
Shell>tar zxvf libevent-1.4.14b-stable.tar.gz
Shell>cd libevent-1.4.14b-stable
Shell>./configure
Shell>make && make install
安装memcached
Shell>tar zxvf memcached-1.2.5.tar.tar
Shell>cd memcached-1.2.5
Shell>./configure –prefix=/usr/local/memcached
Shell>make && make install
启动memcached
Shell>/usr/local/memcached/bin/memcached –p 11211 –d –u root –P /tmp/memcached.pid
-P是表示使用TCP,默认端口为11211
-d表示后台启动一个守护进程(daemon)
-u表示指定root用户启动,默认不能用root用户启动
-P表示进程的pid存放地点,此处“p”为大写“P”
-l,后面跟IP地址,手工指定监听IP地址,默认所有IP都在监听
-m后面跟分配内存大小,以MB为单位,默认为64M
-c最大运行并发连接数,默认为1024
-f 块大小增长因子,默认是1.25
-M 内存耗尽时返回错误,而不是删除项,即不用LRU算法
㈤ 如何在linux上配置memcache
一、什么是memcache
memcache是一个高性能的分布式的内存对象缓存系统,通过在内存里维护一个统一的巨大的hash表,它能够用来存储各种格式的数据,包括图像、视频、文件以及数据库检索的结果等
二、libevent介绍
libevent是一个事件触发的网络库,适用于windows、linux、bsd等多种平台,内部使用select、epoll、kqueue等系统调用管理事件机制。着名的用于apache的php缓存库memcached据说也是libevent based,而且libevent在使用上可以做到跨平台
三、准备工作
下载:memcache:http://www.danga.com/memcached/dist/memcached-1.2.2.tar.gz
下载:http://www.monkey.org/~provos/libevent-1.3.tar.gz
四、安装过程
1、卸载低版本的libevent
#ls -al /usr/lib |grep libevent
lrwxrwxrwx 1 root root libevent-1.1a.so.1 -> libevent-1.1a.so.1.0.2
-rwxr-xr-x 1 root root libevent-1.1a.so.1.0.2
查看当前libevent版本,如果版本低于1.3,建议先卸载
#rpm -e libevent --nodeps
卸载libevent,
#ls -al /usr/lib |grep libevent
再次查看,卸载成功
2、安装libevent
#tar zxvf libevent-1.3.tar.gz
解压libevent
#cd libevent-1.3
#./configure --prefix=/usr
#make
#make install
配置安装libevent到/usr目录下
#ls -al /usr/lib |grep libevent
lrwxrwxrwx 1 root root 21 11?? 12 17:38 libevent-1.2.so.1 -> libevent-1.2.so.1.0.3
-rwxr-xr-x 1 root root 263546 11?? 12 17:38 libevent-1.2.so.1.0.3
-rw-r–r– 1 root root 454156 11?? 12 17:38 libevent.a
-rwxr-xr-x 1 root root 811 11?? 12 17:38 libevent.la
lrwxrwxrwx 1 root root 21 11?? 12 17:38 libevent.so -> libevent-1.2.so.1.0.3
再此查看,安装libevent1.3版本成功
3、安装memcached,同时需要安装中指定libevent的安装位置
#tar zxvf memcached-1.2.6.tar.gz
#cd memcached-1.2.6
解压进入mamcache目录
#./configure --with-libevent=/usr/
#make
#make install
安装完成后会把memcached放到 /usr/local/bin/memcached
#ls -al /usr/local/bin/memcached
-rwxr-xr-x 1 root root 137986 11?? 12 17:39 /usr/local/bin/memcached
查看memcache安装成功
五、memcached的基本设置
#/usr/local/bin/memcached -d -m 2000 -u root -p 12000 -c 256 -P ./memcached.pid
1.启动Memcache的服务器端:
# /usr/local/bin/memcached -d -m 10 -u root -l 192.168.0.200 -p 12000 -c 256 -P /tmp/memcached.pid
-d选项是启动一个守护进程,
-m是分配给Memcache使用的内存数量,单位是MB,我这里是10MB,
-u是运行Memcache的用户,我这里是root,
-l是监听的服务器IP地址,如果有多个地址的话,我这里指定了服务器的IP地址192.168.0.200,
-p是设置Memcache监听的端口,我这里设置了12000,最好是1024以上的端口,
-c选项是最大运行的并发连接数,默认是1024,我这里设置了256,按照你服务器的负载量来设定,
-P是设置保存Memcache的pid文件,我这里是保存在 /tmp/memcached.pid,
也可以启动多个守护进程,不过端口不能重复。
六:客户端测试
1、下载java_memcached-release_2.5.1.zip
2、创建一个java project,将java_memcached-release_2.5.1.jar包引用。
3、在main函数中,创建2个类,如下
package com.danga.MemCached;
import java.io.Serializable;
import com.danga.MemCached.MemCachedClient;
import com.danga.MemCached.SockIOPool;
public class TestObj implements Serializable {
private static final long serialVersionUID = 1L;
private String name;
private Long id;
public TestObj()
{
}
public Long getId()
{
return id;
}
public void setId(Long id)
{
this.id = id;
}
public String getName()
{
return name;
}
public void setName(String name)
{
this.name = name;
}
public String toString()
{
return "id:"+this.getId()+";name:"+this.getName();
}
}
package com.danga.MemCached;
import java.io.Serializable;
import com.danga.MemCached.MemCachedClient;
import com.danga.MemCached.SockIOPool;
public class MemcacheTest
{
//create a static client as most installs only need
// a single instance
protected static MemCachedClient mcc = new MemCachedClient();
// set up connection pool once at class load
static
{
// server list and weights
String[] servers ={"192.168.0.226:12000"};
Integer[] weights = { 3 };
// grab an instance of our connection pool
SockIOPool pool = SockIOPool.getInstance();
// set the servers and the weights
pool.setServers( servers );
pool.setWeights( weights );
// set some basic pool settings
// 5 initial, 5 min, and 250 max conns
// and set the max idle time for a conn
// to 6 hours
pool.setInitConn( 5 );
pool.setMinConn( 5 );
pool.setMaxConn( 250 );
pool.setMaxIdle( 1000 * 60 * 60 * 6 );
// set the sleep for the maint thread
// it will wake up every x seconds and
// maintain the pool size
pool.setMaintSleep( 30 );
// set some TCP settings
// disable nagle
// set the read timeout to 3 secs
// and don't set a connect timeout
pool.setNagle( false );
pool.setSocketTO( 3000 );
pool.setSocketConnectTO( 0 );
// initialize the connection pool
pool.initialize();
// lets set some compression on for the client
// compress anything larger than 64k
mcc.setCompressEnable( true );
mcc.setCompressThreshold( 64 * 1024 );
}
public static void bulidCache()
{
mcc.set( "foo", "This is a test String" );
TestObj obj = new TestObj();
obj.setId(new Long(1));
obj.setName("test");
mcc.set("testObj", obj);
}
// from here on down, you can call any of the client calls
public static void output()
{
//
String bar = (String) mcc.get( "foo" );
System.out.println(bar);
TestObj obj = (TestObj)mcc.get("testObj");
System.out.println("ID : "+obj.getId()+"\n"+"Name : "+obj.getName());
}
public static void main(String[] args)
{
bulidCache();
output();
}
}
4、运行结果
This is a test String
ID : 1
Name : test
memcache配置成功~~~~~~~~~~~~~~~~~~~~
㈥ linux 怎么下memcached
linux查看memcached状态[root@linuxAS6-iCloud xinetd.d]# telnet 127.0.0.1 11211Trying 127.0.0.1...Connected to 127.0.0.1.Escape character is '^]'.statsSTAT pid 22362 //memcache服务器的进程ID STAT uptime 1469315 //服务器已经运行的秒数STAT time 1339671194 //服务器当前的unix时间戳STAT version 1.4.9 //memcache版本STAT libevent 1.4.9-stable //libevent版本STAT pointer_size 64 //当前操作系统的指针大小(32位系统一般是32bit,64就是64位操作系统)STAT rusage_user 3695.485200 //进程的累计用户时间STAT rusage_system 14751.273465 //进程的累计系统时间STAT curr_connections 69 //服务器当前存储的items数量STAT total_connections 855430 //从服务器启动以后存储的items总数量STAT connection_structures 74 //服务器分配的连接构造数STAT reserved_fds 20 //STAT cmd_get 328806688 //get命令(获取)总请求次数STAT cmd_set 75441133 //set命令(保存)总请求次数 STAT cmd_flush 34 //flush命令请求次数STAT cmd_touch 0 //touch命令请求次数STAT get_hits 253547177 //总命中次数STAT get_misses 75259511 //总未命中次数STAT delete_misses 4 //delete命令未命中次数STAT delete_hits 565730 //delete命令命中次数STAT incr_misses 0 //incr命令未命中次数STAT incr_hits 0 //incr命令命中次数STAT decr_misses 0 //decr命令未命中次数STAT decr_hits 0 //decr命令命中次数STAT cas_misses 0 //cas命令未命中次数STAT cas_hits 0 //cas命令命中次数STAT cas_badval 0 //使用擦拭次数STAT touch_hits 0 //touch命令未命中次数STAT touch_misses 0 //touch命令命中次数STAT auth_cmds 0 //认证命令处理的次数STAT auth_errors 0 //认证失败数目STAT bytes_read 545701515844 //总读取字节数(请求字节数)STAT bytes_written 1649639749866 //总发送字节数(结果字节数)STAT limit_maxbytes 2147483648 //分配给memcache的内存大小(字节)STAT accepting_conns 1 //服务器是否达到过最大连接(0/1)STAT listen_disabled_num 0 //失效的监听数STAT threads 4 //当前线程数STAT conn_yields 14 //连接操作主动放弃数目STAT hash_power_level 16 //STAT hash_bytes 524288STAT hash_is_expanding 0STAT expired_unfetched 30705763STAT evicted_unfetched 0STAT bytes 61380700 //当前存储占用的字节数STAT curr_items 28786 //当前存储的数据总数STAT total_items 75441133 //启动以来存储的数据总数STAT evictions 0 //为获取空闲内存而删除的items数(分配给memcache的空间用满后需要删除旧的items来得到空间分配给新的items)STAT reclaimed 39957976 //已过期的数据条目来存储新数据的数目END退出:quit或者ctrl + ] 然后在按q就行了。安装telenet方法1、yum install telnet-server 服务端2、yum install telnet 客户端3、vi /etc/xinetd.d/telnetservice telnet{ flags = REUSE socket_type = stream wait = no user = root server = /usr/sbin/in.telnetd log_on_failure += USERID disable = yes}将disable项由yes改成no。4、/etc/init.d/xinetd restart其他方式:前项目中,linux下memcached的启动/结束的方式默认情况下memcached安装到/usr/local/bin下。进入安装目录,启动memcached:/usr/local/memcached/bin/memcached -d -c 10240 -m 1024 -u root获取运行状态:echo stats nc localhost 11211(可以查看出pid) 或使用ps -efgrep memcached停止memcached:kill -9 pid (-9表示强制杀死,pid 为进程的进程标识符)-d 选项是启动一个守护进程,-m 是分配给Memcache使用的内存数量,单位是MB,这里是1024MB,默认是64MB-u 是运行Memcache的用户,这里是root-l 是监听的服务器IP地址,默认应该是本机-p 是设置Memcache监听的端口,默认是11211,最好是1024以上的端口-c 选项是最大运行的并发连接数,默认是1024,这里设置了10240,按照你服务器的负载量来设定-P 是设置保存Memcache的pid文件位置-h 打印帮助信息-v 输出警告和错误信息-vv 打印客户端的请求和返回信息ps -efgrep memcached(命令说明)grep:功能说明:查找文件里符合条件的字符串。:管道命令操作符ps(process status):功能说明:报告程序状况。连接到 memcached:telnet ip 端口,如telnet 192.168.100.11 11211stats查看状态,flush_all:清楚缓存查看memcached状态的基本命令,通过这个命令可以看到如下信息:STAT pid 22459 进程IDSTAT uptime 1027046 服务器运行秒数STAT time 1273043062 服务器当前unix时间戳STAT version 1.4.4 服务器版本STAT pointer_size 64 操作系统字大小(这台服务器是64位的)STAT rusage_user 0.040000 进程累计用户时间STAT rusage_system 0.260000 进程累计系统时间STAT curr_connections 10 当前打开连接数STAT total_connections 82 曾打开的连接总数STAT connection_structures 13 服务器分配的连接结构数STAT cmd_get 54 执行get命令总数STAT cmd_set 34 执行set命令总数STAT cmd_flush 3 指向flush_all命令总数STAT get_hits 9 get命中次数STAT get_misses 45 get未命中次数STAT delete_misses 5 delete未命中次数STAT delete_hits 1 delete命中次数STAT incr_misses 0 incr未命中次数STAT incr_hits 0 incr命中次数STAT decr_misses 0 decr未命中次数STAT decr_hits 0 decr命中次数STAT cas_misses 0 cas未命中次数STAT cas_hits 0 cas命中次数STAT cas_badval 0 使用擦拭次数STAT auth_cmds 0STAT auth_errors 0STAT bytes_read 15785 读取字节总数STAT bytes_written 15222 写入字节总数STAT limit_maxbytes 1048576 分配的内存数(字节)STAT accepting_conns 1 目前接受的链接数STAT listen_disabled_num 0 STAT threads 4 线程数STAT conn_yields 0STAT bytes 0 存储item字节数STAT curr_items 0 item个数STAT total_items 34 item总数STAT evictions 0 为获取空间删除item的总数另外一个例子:启动/结束memcached -d -m 10 -u root -l 192.168.0.122 -p 11200 -c 256 -P /tmp/memcached.pid-d 选项是启动一个守护进程,-m 是分配给Memcache使用的内存数量,单位是MB,这里是10MB-u 是运行Memcache的用户,这里是root-l 是监听的服务器IP地址,如果有多个地址的话,这里指定了服务器的IP地址192.168.0.122-p 是设置Memcache监听的端口,这里设置了12000,最好是1024以上的端口-c 选项是最大运行的并发连接数,默认是1024,这里设置了256,按照你服务器的负载量来设定-P 是设置保存Memcache的pid文件kill `cat /tmp/memcached.pid`获取运行状态echo stats nc 192.168.1.123 11200watch echo stats nc 192.168.1.123 11200 (实时状态)
㈦ memcache重启是什么命令
1、linux环境下:
/usr/local/lib/memcached -d -m 2048 -u root -c 1024 -p 11211 -P /tmp/memcached1.pid
/usr/local/lib/memcached -d -m 2048 -u root -c 1024 -p 11211 -P /tmp/memcached2.pid
2、windows环境下:
在windows下我们可以用命令
memcached -d install memcached -m 128 -n 128 -c 30720 -p 11211 -d start
把memcached注册为服务,让系统启动时自动运行
memcached为了减少单个memcached的负载,可以在一台机器上运行多个实例,如果把多个memcached
注册为服务呢,通过SC命令我们可以创建服务
建立服务器1:
sc create memcached1 binPath= "d:\zwamp\memcached\memcached.exe -d runservice -m 128 -c 512 -p 11211" start= auto DisplayName= "memcached1"
建立服务器2:
sc create memcached2 binPath= "d:\zwamp\memcached\memcached.exe -d runservice -m 128 -c 512 -p 11212" start= auto DisplayName= "memcached2"
建立服务器3:
sc create memcached3 binPath= "d:\zwamp\memcached\memcached.exe -d runservice -m 128 -c 512 -p 11213" start= auto DisplayName= "memcached3"
另外
-p 指定端口号(默认11211)
-m 指定最大使用内存大小(默认64MB)
-t 线程数(默认4)
-l 连接的IP地址, 默认是本机
-d start 启动memcached服务
-d restart 重起memcached服务
-d stop|shutdown 关闭正在运行的memcached服务
-m 最大内存使用,单位MB。默认64MB
-M 内存耗尽时返回错误,而不是删除项
-c 最大同时连接数,默认是1024
-f 块大小增长因子,默认是1.25
-n 最小分配空间,key+value+flags默认是48
例如:/home/memcache/bin/memcached -d -m 1024 -u root -l 192.168.1.123 -p 1121 -c 512 -P /tmp/memcached.pid
重启:先kill -9 掉进程,再执行启动相关参数的memcache
㈧ linux 怎么启动memcache
MemCache是高性能分布式内存对象缓存系统(将数据调用到内存中,然后在内存中读取,从而大大提高读取速度)
Memcached安装与启动:
安装memcached需要先安装libevent
Shell>tar zxvf libevent-1.4.14b-stable.tar.gz
Shell>cd libevent-1.4.14b-stable
Shell>./configure
Shell>make && make install
安装memcached
Shell>tar zxvf memcached-1.2.5.tar.tar
Shell>cd memcached-1.2.5
Shell>./configure –prefix=/usr/local/memcached
Shell>make && make install
启动memcached
Shell>/usr/local/memcached/bin/memcached –p 11211 –d –u root –P /tmp/memcached.pid
-P是表示使用TCP,默认端口为11211
-d表示后台启动一个守护进程(daemon)
-u表示指定root用户启动,默认不能用root用户启动
-P表示进程的pid存放地点,此处“p”为大写“P”
-l,后面跟IP地址,手工指定监听IP地址,默认所有IP都在监听
-m后面跟分配内存大小,以MB为单位,默认为64M
-c最大运行并发连接数,默认为1024
-f 块大小增长因子,默认是1.25
-M 内存耗尽时返回错误,而不是删除项,即不用LRU算法
㈨ Linux系统,memcached 服务启动,报错
这样可以?
/usr/local/bin/memcached –d –m 100 –l 192.168.150.129 –p 12000 –c 256 –P /tmp/memcached.pid
这样?
/usr/local/bin/memcached –d -u nobody –m 100 –l 192.168.150.129 –p 12000 –c 256 –P /tmp/memcached.pid
这样?
/usr/local/bin/memcached –d –m 100 –u root –l 192.168.150.129 –p 12000 –c 256 –P /tmp/memcached/pid