Articles of unix

Java代码来执行.sh文件

我有一个.sh文件存储在一些Linux系统。 该文件的完整path是: /comviva/CPP/Kokila/TransactionHandler/scripts/stopTH.sh 我正在努力执行它 Runtime.getRuntime().exec(`/comviva/CPP/Kokila/TransactionHandler/scripts/stopTH.sh`) 但它是抛出一些例外。 我想在我的Java程序在MS-Windows环境中执行该文件; 可能吗?

Java Process的常驻内存使用量(RSS)不断增长

我们最近对我们的生产系统的观察告诉我们,我们的Java容器的常驻内存使用量增长了。 针对这个问题,我们做了一些调查,理解为什么java进程比堆栈+线程栈+共享对象+代码caching+等消耗更多的内存,使用一些本地工具,如pmap。 因此,我们发现一些由本地进程(可能是使用malloc / mmap)分配的64M内存块(成对): 0000000000400000 4K rx– /usr/java/jdk1.7.0_17/bin/java 0000000000600000 4K rw— /usr/java/jdk1.7.0_17/bin/java 0000000001d39000 4108K rw— [ anon ] 0000000710000000 96000K rw— [ anon ] 0000000715dc0000 39104K —– [ anon ] 00000007183f0000 127040K rw— [ anon ] 0000000720000000 3670016K rw— [ anon ] 00007fe930000000 62876K rw— [ anon ] 00007fe933d67000 2660K —– [ anon ] […]

什么是OSX上的Windows QueryPerformanceCounter的等价物?

我正在将一个库从Windows移植到* NIX(现在是OSX),现在没有人可以使用什么函数来代替Microsoft的QueryPerformanceCounter和QueryPerformanceFrequency?

Windows有一个__declspec相当于Unix GCC的__attribute __((弱))?

我想导入一些C代码,但是重写它的main()函数。 我可以在Unix下用__attribute__((weak))预处理C代码的主要声明,但是这不会在Windows中编译,因为Strawberry Perl的GCC和MinGW的GCC都不能识别__attribute__((weak)) 。 在线阅读文档, __declspec似乎function相似。 是否有一个相当于Unix GCC的__attribute__((weak))macros的__declspec ? 这是我发布的早期问题的更具体的版本。

如何从任意pthread_t获取线程ID?

我有一个pthread_t,我想改变它的CPU亲和力。 问题是我使用glibc 2.3.2,它没有pthread_setaffinity_np() 。 没关系,因为pthread_setaffinity_np()本身就是sched_setaffinity()的一个包装,可以通过传递线程ID而不是进程ID来设置任意线程的关联。 但是 … sched_setaffinity可以使用的线程ID是一个操作系统线程ID,可以从gettid()系统调用中获得。 这与opaquetypes的pthread_t不同 ,gettid()只会返回当前线程的thread-id。 我需要能够设置任意线程的CPU亲和力。 不幸的是,我不能访问pthread的私有部分,这会让我通过将pthread_t转换为struct pthread *来窃取线程id。 我猜,更好一些,因为依赖私有实现需要更多的麻烦。 我也一直在阅读pthread_getunique_np函数,但是这会返回一个“唯一的整型标识符” – 我不认为它是以任何forms或forms等同于操作系统线程ID。 因此,问题:我如何从任意pthread_t获得线程ID?