JNIEXPORT jboolean JNICALL Java_jp_co_acroquest_endosnipe_javelin_resource_proc_SolarisResourceReader_collectQueryData (JNIEnv *env, jobject obj) { jboolean result_system; jboolean result_process; g_system_info_prev = g_system_info; result_system = getsysinfo(&g_system_info); result_process = getprocessinfo(&g_process_info); return (result_system == JNI_TRUE) && (result_process == JNI_TRUE); }
int main(int argc, char *argv[]) { int index = 0; struct system_info info_prev; struct system_info info; { jobject obj; Java_jp_co_acroquest_endosnipe_javelin_resource_proc_SolarisResourceReader_openQuery(NULL, obj); } getsysinfo(&info_prev); sleep(2); for (index = 0; index < 100; index++) { long update_delta; long swap_avail; long swap_free; struct process_info info2; getsysinfo(&info); update_delta = info.updates - info_prev.updates; swap_avail = info.swap_avail - info_prev.swap_avail; swap_free = info.swap_free - info_prev.swap_free; printf("sys cpu(%lld/%lld/%lld), memory(%lld/%lld), swap(%ld/%ld), page(%lld/%lld)\n", info.cpu_user, info.cpu_sys, info.cpu_total, info.mem_total, info.mem_total - info.mem_free, swap_avail / update_delta / 1024, (swap_avail + swap_free) / update_delta / 1024, info.page_in, info.page_out); getprocessinfo(&info2); printf("proc cpu(%lld/%lld/%lld), memory(%lld/%lld), thread(%d), majflt(%d)\n", info2.cpu_user, info2.cpu_sys, info2.cpu_total, info2.mem_virtual, info2.mem_physical, info2.threads, info2.majar_fault); info_prev = info; sleep(1); } }
int main(void) { getprocessinfo(); exit(); }