This repository has been archived by the owner on Jul 8, 2018. It is now read-only.
-
Notifications
You must be signed in to change notification settings - Fork 1
/
README
89 lines (69 loc) · 2.46 KB
/
README
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
m(easuring) buffer
==================
AUTHOR: Thomas Maier-Komor
e-mail: [email protected]
homepage: http://www.maier-komor.de/mbuffer.html
LICENSE:
========
GNU GPLv3 (see file LICENSE for details)
DESCRIPTION:
============
mbuffer is a raplacement for buffer with additional functionality:
# display of i/o speed
# optional use of memory mapped i/o for huge buffer files
# multithreaded instead of sharedmemory ipc
# multi-volume support
# auto-loader support
# network support
# buffer compatible command-line options
NETWORKING:
==================
The included networking code is based on TCP/IP. To use it you should
know the basics of TCP/IP. Use it only on a trusted LAN, as there is no
builtin security.
TESTING:
========
to test the program I do the following:
# tar cf - /usr | mbuffer | tar tf - > out
# tar cf - /usr | mbuffer -t | tar tf - > out
ARCHITECTURES and PLATFORMS:
============================
This software has been tested under the following operatingsystems:
- solaris 8 (SPARC and x86) and later
- no known issues
- do not put your temporary files on a tmpfs filesystem,
as this is equivalent to a normal memory allocated buffer
- linux 2.2 (x86) and later
- some pthread versions of linux seem to have problems with
cancellation, causing a segmentation fault upon SIGINTR
- tru64-alpha
- broken display
- FreeBSD 5.x (x86)
64 Bit Buffers:
===============
The buffer limit is sysconf(_SC_SEM_VALUE_MAX)*Blocksize. This usually
limits the maximum number of blocks to 2G-1, because semaphores are
implemented using an int, which is on most architectures a 32 Bit word.
This limit is currently a non-issue, but might be resolved in a future
release, by using condition variables.
If the total buffer size is 2GB or larger, you will need to compile
mbuffer as a 64bit executable. This requires that you have a 64bit
processor. Compiling with gcc you will need to pass -m64 as CFLAGS
to configure. E.g.:
env CFLAGS="-O -g -m64" ./configure
For Sun's Studio Compiler the equivalent flag is -xarch=v9.
TODO:
=====
# fix: unknown bugs
FEEDBACK:
=========
It is always nice to get feedback. If you encounter
a problem or a bug, send me a note. Requests for enhancements
are also welcome.
DONATIONS:
==========
If you like this software, and use it for production porposes in your
company, please consider making a donation to support this work.
You can donate via PayPal to the author's e-mail address: