在拷贝数据的时候,如果遇到一堆小文件,即使总数据量很小,拷贝也会很费时,在win下,有一个软件叫fastcopy,可以实现快速拷贝,据说使用了一种叫内存映射的技术,那么在Linux下有没有呢?
我找了半天,原来LInux下根本不需要单独的软件,用现有的命令组合就OK了!
有高手在两个服务器间传数据,使用命令,实现了快速传送数据。
http://www.4bcj.com/post/2008/01/Fast-File-Copy—Linux!.aspx
All good ideas come out of necessity. We were cloning an instance of
Oracle Financials from one server to another. There are a LOT of files
under < 1k and the copy takes forever. Yesterday the copy was kicked
off using SCP - there was 39GBs to copy over a gigabit switch. This
should have been less than 10 minutes but actually took over 8 hours
because of all the small files. The copy failed and we needed to fix
the problem and copy it a lot faster (30 minutes) today.
After clearing up 10 GBs of log files, we were left with hundreds of
thousands of small files that were going to slow us down. We couldn&rsqu ......
虚拟主机服务商在运营过程中可能会受到黑客攻击,常见的攻击方式有SYN,DDOS等。通过更换IP,查找被攻击的站点可能避开攻击,但是中断服务的时间比较长。比较彻底的解决方法是添置硬件防火墙。不过,硬件防火墙价格比较昂贵。可以考虑利用Linux 系统本身提供的防火墙功能来防御。
抵御SYN SYN攻击是利用TCP/IP协议3次握手的原理,发送大量的建立连接的网络包,但不实际建立连接,最终导致被攻击服务器的网络队列被占满,无法被正常用户访问。
Linux内核提供了若干SYN相关的配置,用命令: sysctl -a | grep syn 看到:
net.ipv4.tcp_max_syn_backlog = 1024 net.ipv4.tcp_syncookies = 0
net.ipv4.tcp_synack_retries = 5 net.ipv4.tcp_syn_retries = 5
tcp_max_syn_backlog是SYN队列的长度,tcp_syncookies是一个开关,是否打开SYN Cookie 功能,该功能可以防止部分SYN攻击。tcp_synack_retries和tcp_syn_retries定义SYN 的重试次数。加大SYN队列长度可以容纳更多等待连接的网络连接数,打开SYN Cookie功能可以阻止部分 SYN攻击,降低重试次数也有一定效果。
调整上述设置的方法是:
增加SYN队列长度到2048:
sysctl -w net.ipv4.tcp_max_syn_backlog=2048
打开SYN ......
JDK版本:jdk1.6.0_17
a. 下载安装包jdk-6u17-linux-i586-rpm.bin
b. cp jdk-6u17-linux-i586-rpm.bin /usr/local/
c. chmod a+x jdk-6u17-linux-i586-rpm.bin
d. sh jdk-6u17-linux-i586-rpm.bin 接受协议yes,安装完成
e. 设置环境变量
vi /etc/profile
加入下面内容:
#set java environment
JAVA_HOME=/usr/java/jdk1.6.0_17
CLASSPATH=.:$JAVA_HOME/lib/tools.jar
PATH=$JAVA_HOME/bin:$PATH
export JAVA_HOME CLASSPATH PATH
f. 使JDK让所有用户可用
vi /etc/profile.d/java.sh
加入下面内容:
#set java environment
JAVA_HOME=/usr/java/jdk1.6.0_17
CLASSPATH=.:$JAVA_HOME/lib/tools.jar
PATH=$JAVA_HOME/bin:$PATH
设置权限:chmod a+x java.sh
g. 重启服务器
h. 测试环境变量
echo $JAVA_HOME 应该为:/usr/java/jdk1.6.0_17
echo $PATH 应该含:/usr/java/jdk1.6.0_17/bin
echo $CLASSPATH 应该含:/usr/java/jdk1.6.0_17/lib/tools.jar
i. 测试java javac命令 ......
JDK版本:jdk1.6.0_17
a. 下载安装包jdk-6u17-linux-i586-rpm.bin
b. cp jdk-6u17-linux-i586-rpm.bin /usr/local/
c. chmod a+x jdk-6u17-linux-i586-rpm.bin
d. sh jdk-6u17-linux-i586-rpm.bin 接受协议yes,安装完成
e. 设置环境变量
vi /etc/profile
加入下面内容:
#set java environment
JAVA_HOME=/usr/java/jdk1.6.0_17
CLASSPATH=.:$JAVA_HOME/lib/tools.jar
PATH=$JAVA_HOME/bin:$PATH
export JAVA_HOME CLASSPATH PATH
f. 使JDK让所有用户可用
vi /etc/profile.d/java.sh
加入下面内容:
#set java environment
JAVA_HOME=/usr/java/jdk1.6.0_17
CLASSPATH=.:$JAVA_HOME/lib/tools.jar
PATH=$JAVA_HOME/bin:$PATH
设置权限:chmod a+x java.sh
g. 重启服务器
h. 测试环境变量
echo $JAVA_HOME 应该为:/usr/java/jdk1.6.0_17
echo $PATH 应该含:/usr/java/jdk1.6.0_17/bin
echo $CLASSPATH 应该含:/usr/java/jdk1.6.0_17/lib/tools.jar
i. 测试java javac命令 ......
本文周详的介绍了Linux内核中的同步机制:原子操作、信号量、读写信号量和自旋锁的API,使用需求及一些典型示例
一、引言
在现代操作系统里,同一时间可能有多个内核执行流在执行,因此内核其实象多进程多线程编程相同也需要一些同步机制来同步各执行单元对共享数据的访问。尤其是在多处理器系统上,更需要一些同步机制来同步不同处理器上的执行单元对共享的数据的访问。
在主流的Linux内核中包含了几乎所有现代的操作系统具有的同步机制,这些同步机制包括:原子操作、信号量(semaphore)、读写信号量
(rw_semaphore)、spinlock、BKL(Big Kernel
Lock)、rwlock、brlock(只包含在2.4内核中)、RCU(只包含在2.6内核中)和seqlock(只包含在2.6内核中)。
二、原子操作
所谓原子操作,就是该操作绝不会在执行完毕前被所有其他任务或事件打断,也就说,他的最小的执行单位,不可能有比他更小的执行单位,因此这里的原子实际是使用了物理学里的物质微粒的概念。
原子操作需要硬件的支持,因此是架构相关的,其API和原子类型的定义都定义在内核源码树的include/asm/atomic.h文件中,他们都使用汇编语言实现,因为C语言并不能实现这 ......
如何linux下监控进程及其子进程占用资源?
楼主whzeng(嘟嘟)2006-01-06 22:45:39 在 Linux/Unix社区 / 程序开发区 提问
如何linux下监控进程及其子进程占用资源,比如内存和cpu使用量。需要动态监控所用内存的总量包括物理内存和虚拟内存;CPU使用总量的百分数.高手赐教! 问题点数:100、回复次数:13Top
1 楼fierygnu(va_list)回复于 2006-01-06 23:00:21 得分 25
top行吗?Top
2 楼wybing(Hello World!)回复于 2006-01-07 09:14:56 得分 5
topTop
3 楼whzeng(嘟嘟)回复于 2006-01-07 21:38:40 得分 0
top比较占资源,最好能够便于编程实现。Top
4 楼fierygnu(va_list)回复于 2006-01-07 22:22:11 得分 0
编程实现就是拷贝top的源码。Top
5 楼whzeng(嘟嘟)回复于 2006-01-08 18:42:05 得分 0
top的源码在那个文件中?谢谢!Top
6 楼fierygnu(va_list)回复于 2006-01-08 22:11:19 得分 0
http://www.fysh.org/~chris/top/Top
7 楼whzeng(嘟嘟)回复于 2006-01-09 01:39:29 得分 0
unix下top命令的实现和linux一样? ps命令的实现文件在那里?Top
8 楼fytzzh(我爱summer)回复于 2006-01-09 09:14:22 得分 20
读/proc文件可以 ......
共享库
介绍共享库
Linux 系统上有两类根本不同的 Linux 可执行程序。第一类是静态链接的可执行程序。静态可执行程序包含执行所需的所有函数 — 换句话说,它们是“完整的”。因为这一原因,静态可执行程序不依赖任何外部库就可以运行。
第二类是动态链接的可执行程序。
静态可执行程序与动态可执行程序比较
我们可以用 ldd 命令来确定某一特定可执行程序是否为静态链接的:
# ldd /sbin/sln
not a dynamic executable
“not a dynamic executable”是 ldd 说明 sln 是静态链接的一种方式。现在,让我们比较 sln 与其非静态同类 ln 的大小:
# ls -l /bin/ln /sbin/sln
-rwxr-xr-x 1 root root 23000 Jan 14 00:36 /bin/ln
-rwxr-xr-x 1 root root 381072 Jan 14 00:31 /sbin/sln
如您所见,sln 的大小超过 ln 十倍。ln 比 sln 小这么多是因为它是动态可执行程序。动态可执行程序是不完整的程序,它依靠 ......