标签为 "Linux" 的存档

Ubuntu 使用top/free查看内存占用大的原因

linux/ubuntu下free/top查看内存占用大的原因

linux/ubuntu下free/top查看内存占用大的原因


使用free/top查看内存占用的时候,吓了一大跳,机器4GB的内存,显示free空闲的内存只有300多M,查看了下进程,也没有发现占用大内存的应用啊。
查了些资料,分享给大家。
其实原理用一句话就可以说明白:
就是

查看结果中used已使用的内存表示总计分配给缓存(包含buffers 与cache )使用的数量,但其中可能部分缓存并未实际使用。

Read more…

Linux-Unix 修改系统时间 date

我们一般使用“date -s”命令来修改系统时间。首先需要su切换到root操作用户模式,然后分两步操作.
比如将系统时间设定成2012年2月11日的命令如下:
  

#date -s 02/11/2012
2012年 02月 11日 星期六 00:00:00 CST
  

  接着将系统时间设定成上午10点52分30秒的命令如下:
  

#date -s 10:52:30
2012年 02月 11日 星期六 10:52:30 CST
  

也可以用以下两个命令来写

date 021110522012(月日时分年)(完整书写)
date 021110522012.30(月日时分年.秒)

Read more…

如何通过php判断操作系统类型 linux windows

php中有许多系统预定义的变量,通过判断它们的值就可以轻松的判断出系统是 windows还是*unix。
其中相关的函数或者预定义变量如下:

php_uname();
PHP_OS
DIRECTORY_SEPARATOR
PHP_SHLIB_SUFFIX
PATH_SEPARATOR

判断操作系统的示例PHP程序:

if(PATH_SEPARATOR==':'){
//linux
echo "linux";
}else{
//windows
echo "winnt";
}

Read more…

linux/unix 下 删除sendmail -bp 邮件队列;查看sendmail发送邮件日志

linux/unix 下 删除sendmail -bp 邮件队列

linux下,使用sendmail -bp 或者 mailq 可以查看到邮件发送队列,里边会列出有几个邮件等待发送。

[]#mailq
                /var/spool/mqueue (2 requests)
-----Q-ID----- --Size-- -----Q-Time----- ------------Sender/Recipient-----------
pBN6jQ42026230   125278 Fri Dec 23 14:45 <gateway@localhost.localdomain>
      8BITMIME   (Deferred: 452 Too many recipients received this hour)
                                         <digdeeply@staff.sina.com.cn>
pBN6kF7B026383   125278 Fri Dec 23 14:46 <gateway@localhost.localdomain>
      8BITMIME   (Deferred: 452 Too many recipients received this hour)
                                         <digdeeply@staff.sina.com.cn>
                Total requests: 2

邮件队列的文件都保存在 /var/spool/mqueue/ 文件夹内,查看此文件夹时,可以看到邮件队列内的邮件:

[]#ls /var/spool/mqueue/
dfpBN6jQ42026230  dfpBN6kF7B026383  qfpBN6jQ42026230  qfpBN6kF7B026383

如果需要删除队列,直接清空该文件夹即可:

[]#rm /var/spool/mqueue/*

Read more…

记住几个bash快捷键,可以极高的提高工作效率~~

记住几个bash快捷键,可以极高的提高工作效率~~

下面开始了~~

Ctrl-A 用于将光标定位到本行最前面,相当于编辑器中用HOME键

Ctrl-E 即将光标移动到本行末尾,相当于End键

Ctrl-B 用于将光标向左移动一格,相当于左箭头键

Ctrl-F 用于将光标向右移动一格,相当于右箭头键

Ctrl-D 即删除光标所在处的字符,相当于Del键

Ctrl-K 用于删除从光标处开始到结尾处的所有字符

Ctrl-L 清屏,相当于clear命令

Ctrl-R 进入历史命令查找状态,然后你输入几个关键字符,就可以找到你使用过的命令

Read more…

bash快捷建-光标移到行首、行尾等

bash快捷建

ctrl键组合
ctrl+a:光标移到行首。
ctrl+b:光标左移一个字母
ctrl+c:杀死当前进程。
ctrl+d:退出当前 Shell。
ctrl+e:光标移到行尾。
ctrl+h:删除光标前一个字符,同 backspace 键相同。
ctrl+k:清除光标后至行尾的内容。
ctrl+l:清屏,相当于clear。
ctrl+r:搜索之前打过的命令。会有一个提示,根据你输入的关键字进行搜索bash的history
ctrl+u: 清除光标前至行首间的所有内容。
ctrl+w: 移除光标前的一个单词
ctrl+t: 交换光标位置前的两个字符
ctrl+y: 粘贴或者恢复上次的删除
ctrl+d: 删除光标所在字母;注意和backspace以及ctrl+h的区别,这2个是删除光标前的字符
ctrl+f: 光标右移
ctrl+z : 把当前进程转到后台运行,使用’ fg ‘命令恢复。比如top -d1 然后ctrl+z ,到后台,然后fg,重新恢复
esc组合
esc+d: 删除光标后的一个词
esc+f: 往右跳一个词
esc+b: 往左跳一个词
esc+t: 交换光标位置前的两个单词。

Read more…

千万级访问量架构

1、HTML 静态化

其实大家都知道,效率最高、消耗最小的就是纯静态化的 html 页面,所以我们尽可能使我们的网站上的页面采用静态页面来实现,这个最简单 的方法其实也是最有效的方法。但是对于大量内容并且频繁更新的网站,我们无 法全部手动去挨个实现,于是出现了我们常见的信息发布系统 CMS,像我们常 访问的各个门户站点的新闻频道,甚至他们的其他频道,都是通过信息发布系统 来管理和实现的,信息发布系统可以实现最简单的信息录入自动生成静态页面, 还能具备频道管理、权限管理、自动抓取等功能,对于一个大型网站来说,拥有 一套高效、可管理的 CMS 是必不可少的。除了门户和信息发布类型的网站,对 于交互性要求很高的社区类型网站来说, 尽可能的静态化也是提高性能的必要手 段,将社区内的帖子、文章进行实时的静态化,有更新的时候再重新静态化也是 大量使用的策略,像 Mop 的大杂烩就是使用了这样的策略,网易社区等也是如 此。同时,html 静态化也是某些缓存策略使用的手段,对于系统中频繁使用数 据库查询但是内容更新很小的应用,可以考虑使用 html 静态化来实现,比如论 坛中论坛的公用设置信息, 这些信息目前的主流论坛都可以进行后台管理并且存 储再数据库中,这些信息其实大量被前台程序调用,但是更新频率很小,可以考 虑将这部分内容进行后台更新的时候进行静态化, 这样避免了大量的数据库访问 请求。

Read more…

Linux下打包压缩解包解压缩目录文件-tar/gzip等

.tar
解包: tar xvf FileName.tar
打包:tar cvf FileName.tar DirName
(注:tar是打包,不是压缩!)
———————————————
.gz
解压1:gunzip FileName.gz
解压2:gzip -d FileName.gz
压缩:gzip FileName
.tar.gz
解压:tar zxvf FileName.tar.gz
压缩:tar zcvf FileName.tar.gz DirName
———————————————
.bz2
解压1:bzip2 -d FileName.bz2
解压2:bunzip2 FileName.bz2
压缩: bzip2 -z FileName
.tar.bz2
解压:tar jxvf FileName.tar.bz2
压缩:tar jcvf FileName.tar.bz2 DirName
———————————————
.bz
解压1:bzip2 -d FileName.bz
解压2:bunzip2 FileName.bz
压缩:未知
.tar.bz
解压:tar jxvf FileName.tar.bz
压缩:未知
———————————————
Read more…

vim 批量替换

XXX是需要替换的字符串,YYY是替换后的字符串。

只对当前行进行替换:

:s/XXX/YYY/g

,如果需要进行全部替换:

:%s/XXX/YYY/g

如果需要对指定部分进行替换,可以用V进入visual模式,再进行

:s/XXX/YYY/g

或者可以指定行数对指定范围进行替换:

:10,31s/XXX/YYY/g

若需要显示行号,在vim下

:set nu

取消显示行号:

:set nonu

Read more…

tar 排除指定目录 –exclude

假设 test目录下有 1 2 3 4 5 这5个目录,

1下有6 7两个目录,

现在要将3 4 5 6目录tar打包,2和1下的6这两个目录不要.
命令如下:

[www]#cd test
[test]#tar -zcvf test.tar.gz --exclude=1/6 --exclude=2 test

Read more…