Articles of pipe理员

有什么好的PostgreSQL客户端的Linux?

我对没有一个好的PostgreSQL的Linux GUIpipe理和开发工具感到沮丧。 pgAdmin III是与Windows相关的PostgreSQL Maestro和EMS PostgreSQLpipe理器。 phpPgaAmin不看起来很有希望。 EMS PostgreSQLpipe理器可以在Wine下工作,但是这样的设置有一些问题。 要求是: 表格数据编辑和浏览大表格(1M +),可以通过FK跳转或者一些主从编辑,GUI过滤等等。 ER图表就地架构编辑 模式编辑和浏览所有有用的GUI支持 模式更改日志以放入数据库版本(迁移脚本)。 选项卡式接口能够同时处理大量表和SQL查询。 等等。 有任何想法吗?

pss在/ proc / pid / smaps中意味着什么

我对/ proc / pid / smaps中的pss列感到困惑,于是我编写了一个程序来testing它: void sa(); int main(int argc,char *argv[]) { int fd; sa(); sleep(1000); } void sa() { char *pi=new char[1024*1024*10]; for(int i=0;i<4;++i) { for(int j=0;j<1024*1024;++j){ *pi='o'; pi++; } } int cnt; for(int i=0;i<6;++i) { for(int j=0;j<1024*1024;++j){ cnt+=*pi; pi++; } } printf("%d",cnt); } $cat /proc/`pidof testprogram`/smaps 08838000-0885b000 rw-p 00000000 00:00 0 [heap] […]

如何以编程方式切换到compiz中的特定窗口?

有没有一个命令来告诉compiz,我们想把前面的焦点放在一个特定的窗口? 我们应该如何识别该命令中的窗口? 这个问题背后的原因是下面的用例: 假设我们有一个wiki来logging我们发现的任何有趣的东西。 有一个键盘快捷键可以让浏览器窗口前面带有我们的Wiki页面,然后开始立即打字,然后用另一个组合键切换到我们以前工作的应用程序 我知道ALT + TAB在最后两个使用的窗口之间切换,但不能支持更复杂的应用程序组合。 例如浏览器+ Eclipse + Wiki 如果有类似的命令,可以从KDE或GNOME界面添加一个快捷方式

为什么内核映射到与进程相同的地址空间?

这是一个需要说明的问题: 为什么内核被说成在进程地址空间? 这可能是一个愚蠢的问题,但它只是popup在我的脑海里。 所有关于进程地址空间和虚拟内存布局的文本都提到进程地址空间为内核预留了空间。 例如在32位系统上,进程地址空间是4GB,其中1GB是为Linux内核保留的(在其他操作系统上可能不同)。 我只是想知道为什么当进程无法直接访问内核时,为什么内核被说成是在进程地址空间中。 为什么我们不说内核具有一个独立的地址空间而不是一个进程,为什么我们不能为内核本身提供一个与进程的页表分开的不同的页表? 我可以得到关于Linux(Debian或Ubuntu)特定操作系统的解释。

在Tomcat上部署war文件

有没有办法在Tomcat服务器上部署一个给定的战争文件? 我想这样做,而不使用Web界面。

在Linux上最好的沙盒Apache方法

我的Apache运行在面向公众的Debian服务器上,对安装的安全性有点担心。 这是一个机器,主持几个空闲时间的爱好项目,所以我们没有谁使用这台机器真的有时间不断地观察上游补丁,保持安全问题等意识,但我想保持坏人出去,或者如果他们进来,把他们放在沙箱里。 那么什么是最好的,易于设置,易于维护的解决scheme? 在Debian上设置一个用户模式的linux sandbox很容易吗? 或者也许是一个chroot监狱? 我想从外面轻松访问sadbox内的文件。 这是对我来说非常清楚,我是程序员而不是系统pipe理员的那个时代之一。 任何帮助将非常感激!

访问Linux用户空间中的硬件寄存器

我想要写在Linux用户空间的OMAP3530硬件寄存器。 请find下面的代码。 Mmap返回错误: 内存映射失败。 错误-1 mmap:权限被拒绝 #include <stdio.h> #include <sys/mman.h> #include <fcntl.h> #include <stdlib.h> #include <unistd.h> #include <errno.h> #define BASE_ADDRESS 0x48050000 int main() { int mem; unsigned int *value; void *ptr; /* Open /dev/mem */ if ((mem = open ("/dev/mem", O_RDONLY | O_SYNC)) == -1) fprintf(stderr, "Cannot open /dev/mem\n"), exit(1); ptr = mmap (0, 8192, […]

Linux(或RedHat Linux)上的小块分配器可避免内存碎片

我知道在用户应用程序中有一个分配器,而不是在HP-UX 链接文本和Windows XP 低碎片堆上处理大量的小块分配。 在HP-UX上,可以调整分配器,在Windows XP上它认为小于16 K的块的大小很小。 我的问题是,我找不到在Linux上运行的用户程序的这种分配器的任何信息(实际上是RedHat Linux)。 如果有这样一个分配器,我真的想find它可以处理的最大块大小。 更新 我find了jemalloc( http://www.canonware.com/jemalloc/ )。 它处理小,大,巨大的块: http : //www.canonware.com/download/jemalloc/jemalloc-latest/doc/jemalloc.html#size_classes 。

mmap系统调用中MAP_ANONYMOUS标志的用途是什么?

从man页, MAP_ANONYMOUS The mapping is not backed by any file; its contents are initialized to zero. The fd and offset arguments are ignored; however, some implementations require fd to be -1 if MAP_ANONYMOUS (or MAP_ANON) is specified, and portable applications should ensure this. The use of MAP_ANONYMOUS in conjunction with MAP_SHARED is only supported on […]

如果/何时取消分配的堆内存得到回收?

我一直在embedded式Linux系统上运行一夜的内存testing。 使用vmstat我已经观察到,随着时间的推移,空闲内存会稳步下降。 根据procfs中的一些分析,一个进程的堆栈大致以相同的速度增长。 我怀疑有内存泄漏,并在代码中发现了一些经常使用new和delete位置。 但是,我没有看到没有匹配delete调用的new调用。 我再次运行内存testing,今天早上通过以下调用清除了内存caching echo 3 > /proc/sys/vm/drop_caches vmstat中列出的可用内存下降到接近testing开始时的值。 内核是否定期回收未使用的堆页? 如果是这样,除了上面的那个,还有其他的时间呢? 空闲内存可能低于某个阈值时