December 2, 2010
Linux常用信息查看命令
"系统\n# uname -a # 查看内核/操作系统/CPU信息 # head -n 1 /etc/issue # 查看操作系统版本 # cat /proc/cpuinfo # 查看CPU信息 # hostname # 查看计算机名 # lspci -tv # 列出所有PCI设备 # lsusb -tv # 列出所有USB设备 # lsmod # 列出加载的内核模块 # env # 查看环境变量 资源\n# free -m # 查看内存使用量和交换区使用量 # df -h # 查看各分区使用情况 # du -sh \u0026lt;目录名\u0026gt; # 查看指定目录的大小 # grep MemTotal /proc/meminfo # 查看内存总量 # grep MemFree /proc/meminfo # 查看空闲内存量 # uptime # 查看系统运行时间、用户数、负载 # cat /proc/loadavg # 查看系统负载 (解释详见: http://blog."
December 2, 2010
Linux网管必备的几个命令
"一、uptime\n** ** **** Uptime命令的显示结果包括服务器已经运行了多长时间,有多少登陆用户和对服务器性能的总体评估(load average)。load average值分别记录了上个1分钟,5分钟和15分钟间隔的负载情况,load average不是一个百分比,而是在队列中等待执行的进程的数量。如果进程要求CPU时间被阻塞(意味着CPU没有时间处理它),load average值将增加。另一方面,如果每个进程都可以立刻得到访问CPU的时间,这个值将减少。\nUP kernel下的load average的最佳值是1,这说明每个进程都可以立刻被CPU处理,当然,更低不会有问题,只说明浪费了一部分的资源。但在不同的系统间这个值也是不同的,例如一个单CPU的工作站,load average为1或者2都是可以接受的, 而在一个多CPU的系统中这个值应除以物理CPU的个数,假设CPU个数为4,而load average为8或者10,那结果也是在2多点而已。 你可以使用uptime判断一个性能问题是出现在服务器上还是网络上。例如,如果一个网络应用运行性能不理想,运行uptime …"
December 2, 2010
CentOS上DirectAdmin安装教程
"DirectAdmin是一款付费的虚拟主机管理软件,通常简称为DA,DA比Cpanel功能上简单,但是内存占用也更少些,更重要的是价格也更便宜,一般自己用或者搞合租DA算是很合适的。\n安装前首先确保已经购买了DirectAdmin的授权,购买授权后会有Client ID,License ID,也需要在DA官网上或者DA销售商那里提交你的VPS或者服务器的IP和系统信息。\n1、安装CentOS的相关组件的命令如下:\nyum update -y yum install gcc-c++ gcc make automake wget flex -y\n2、安装DirectAdmin需要干净的系统,所以在装之前要卸载掉httpd、php、mysql。\nyum remove httpd* php* mysql* -y\n3、下载DirectAdmin安装脚本文件,执行命令:\nwget http://directadmin.com/setup.sh\n4、为DirectAdmin安装脚本文件添加执行权限,执行命令:\nchmod +x setup.sh\n5、执行DirectAdmin安装脚本文件: …"
December 2, 2010
正确理解Linux内存占用过高的问题
"最近有个月经问题,老有人问为何开机后,还没有其他服务,mem就被用完了?是不是内存泄露?是否要重启服务?只能说不要看现象,要看本质才能找到问题的根源。 往往给出这样的结果,怀疑内存用了90%: Mem: 4146788k total, 3825536k used, 321252k free, 213488k buffers Swap: 2650684k total, 80k used, 2650604k free, 3006404k cached\n这样怀疑很普遍,因为很多人用惯了Windows。Windows下,可以使用任务管理器查看当前进程对于内存的消耗情况。在我看来,Windows物理内存总是留下一定的空间,就算此时物理内存有空闲时,也会让某些程序去使用虚拟内存,目的是在Windows下启动新程序时,直接分配空闲的物理内存,这样子新程序启动速度就较快,而Linux则不然。\n而在Linux下,使用top命令看到内存占用情况:\nMem: 4146788k total, 3825536k used, 321252k free, 213488k buffers Swap: 2650684k …"
December 2, 2010
Linux VPS禁止某个IP访问
"今天在查看 VPS侦探 的 VPS 的SSH登录记录吓了一跳,居然与几个IP连续登录SSH字典猜root密码,我很生气,后果很严重,GFW掉他们,现公布他们的名单:\n62.75.214.93 gera125.server4you.de 德国/德国鬼子\n203.215.252.189 香港特别行政区/无语。。。。\n219.143.200.169 北京市电信 /在党中央还做坏事。。。。\n60.12.193.134 浙江省湖州市网通 /\nc953dc2c.virtua.com.br 201.83.220.44 巴西 /就你最多。。。。\n其中几个还搭建了Nginx的环境,都没做站。\n/etc/hosts.allow和/etc/hosts.deny两个文件是控制远程访问设置的,通过他可以允许或者拒绝某个ip或者ip段的客户访问linux的某项服务。\n如果请求访问的主机名或IP不包含在/etc/hosts.allow中,那么tcpd进程就检查/etc/hosts.deny。看请求访问的主机名或IP有没有包含在hosts.deny文件中。如果包含,那么访问就被拒绝;如果既不包含 …"
December 2, 2010
从Godaddy转移域名到name.com
"国内转移域名不仅手续繁琐而且需要额外支出,跟国外域名商之间转移域名的快捷方便一比较,你就会觉得国内域名商的落后、不思进取。\n刚将一个域名从Godaddy转出到name.com,花费的时间仅为一个小时。我对国内域名商的落后与不思进取的感受更深了。 以下是转移的过程\n首先,登录并进入Godaddy的域名管理器(Domain Manager)。 点击你要转移的域名所对应的后面的小锁。 在接下来的页面中去掉“Lock Domain”前的小勾,然后点击“OK”。这时域名将去除锁定。 接下来,是“讨Auth Code” 点选“(Send by Email)”,几分钟后,你就能收到Godaddy发给你一封带Auth Code的邮件。(是的,就几分钟的事) 再来,登录name.com,并进入Transfer Domain Names(在页脚,你可以看到这个链接)。进去后,填入域名和“Auth Code”并确定。如无意外,点击“Checkout”进行付费(com转移是7.99刀,包括一年的续费,也就是说转移是不收费的,都用来续费了。)。付费后,name.com会发给你一封确定转移域名的邮件,点击当中的确 …"
December 1, 2010
linux系统中关于文件权限
"文件权限除了r、w、x外还有s、t、i、a权限:\ns:文件属主和组设置SUID和GUID,文件在被设置了s权限后将以root身份执行。在设置s权限时文件属主、属组必须先设置相应的x权 限,否则s权限并不能正真生效(c h m o d命令不进行必要的完整性检查,即使不设置x权限就设置s权限,chmod也不会报错,当我们ls -l时看到rwS,大写S说明s权限未生效)。Linux修改密码的passwd便是个设置了SUID的程序,普通用户无读写/etc/shadow文件 的权限确可以修改自己的密码。\nls -al /usr/bin/passwd\n-rwsr-xr-x 1 root root 32988 2008-12-08 17:17 /usr/bin/passwd\n我们可以通过字符模式设置s权限:\nchmod a+s filename\n也可以使用绝对模式进行设置:\n设置s u i d:将相应的权限位之前的那一位设置为4;\n设置g u i d:将相应的权限位之前的那一位设置为2;\n两者都置位:将相应的权限位之前的那一位设置为4+2=6。\n如:chmod 4764 filename //设 …"
December 1, 2010
BTree,B-Tree,B+Tree,B*Tree都是什么
"B树 即二叉搜索树:\n1.所有非叶子结点至多拥有两个儿子(Left和Right);\n2.所有结点存储一个关键字;\n3.非叶子结点的左指针指向小于其关键字的子树,右指针指向大于其关键字的子树;\n如:\nB树的搜索,从根结点开始,如果查询的关键字与结点的关键字相等,那么就命中;否则,如果查询关键字比结点关键字小,就进入左儿子;如果比结点关键 字大,就进入右儿子;如果左儿子或右儿子的指针为空,则报告找不到相应的关键字;\n如果B树的所有非叶子结点的左右子树的结点数目均保持差不多(平衡),那么B树的搜索性能逼近二分查找;但它比连续内存空间的二分查找的优点是,改变B树 结构(插入与删除结点)不需要移动大段的内存数据,甚至通常是常数开销;\n如:\n但B树在经过多次插入与删除后,有可能导致不同的结构\n右边也是一个B树,但它的搜索性能已经是线性的了;同样的关键字集合有可能导致不同的树结构索引;所以,使用B树还要考虑尽可能让B树保持左图的结 构,和避免右图的结构,也就是所谓的“平衡”问题;\n实际使用的B树都是在原B树的基础上加上平衡算法,即“平衡二叉树”;如何保持B树结点分布均匀的平衡算法是平衡二叉树的关键; …"
November 30, 2010
NOSQL数据库–HBase简介
"最近因为项目原因,研究了Cassandra,Hbase等几个NoSQL数据库,最终决定采用HBase。在这里,我就向大家分享一下自己对HBase的理解。\n在说HBase之前,我想再唠叨几句。做互联网应用的哥们儿应该都清楚,互联网应用这东西,你没办法预测你的系统什么时候会被多少人访问,你面临的用户到 底有多少,说不定今天你的用户还少,明天系统用户就变多了,结果您的系统应付不过来了了,不干了,这岂不是咱哥几个的悲哀,说时髦点就叫“杯具啊”。\n其实说白了,这些就是事先没有认清楚互联网应用什么才是最重要的。从系统架构的角度来说,互联网应用更加看重系统性能以及伸缩性,而传统企业级应用都是比较看重数据完整性和数据安全性。那么我们就来说说互联网应用伸缩性这事儿.对于伸缩性这事儿,哥们儿我也写了几篇博文,想看的兄弟可以参考我以前的博文,对于web server,app server的伸缩性,我在这里先不说了,因为这部分的伸缩性相对来说比较容易一点,我主要来回顾一些一个慢慢变大的互联网应用如何应对数据库这一层的伸缩。\n首先刚开始,人不多,压力也不大,搞一台数据库服务器就搞定了,此时所有的东东都塞进一 …"
November 30, 2010
NOSQL中Cassandra与HBase的比较,及我们迁移系统的原因
"原文地址:http://ria101.wordpress.com/2010/02/24/hbase-vs-cassandra-why-we-moved\nHBase vs Cassandra: why we moved\n下文中将讨论为何选择Cassandra作为我们的NOSQL方案。\n是否Cassandra的血统预言了未来?****\n我发现在软件问题上,我们先去考虑上层问题而不是直接深入到细节,可以节约大量时间。在选择HBase还是Cassandra上我也遵循了这一信条。HBase还是Cassandra具有完全不同的血统和基因,这决定了他们在我们应用的可行性。\nHBase及其支持系统源自Google的GFS和BigTable设计;而最初由Facebook开源出来的Cassandra采用了BigTable的数据模型,确实是用类似Amozon的Dynamo的存储系统(实际上Cassandra最初的开发工作都是由两个原Dynamo工程师开发的)。\n在我看来,他们的根源决定了HBase更适用于数据仓库和大规模数据处理分析(比如对Web建索引),而Cassandra更适用于实时事务处理和处理交互性 …"