190
191 struct tm* os::gmtime_pd(const time_t* clock, struct tm* res) {
192 return gmtime_r(clock, res);
193 }
194
195 void os::Posix::print_load_average(outputStream* st) {
196 st->print("load average:");
197 double loadavg[3];
198 os::loadavg(loadavg, 3);
199 st->print("%0.02f %0.02f %0.02f", loadavg[0], loadavg[1], loadavg[2]);
200 st->cr();
201 }
202
203 void os::Posix::print_rlimit_info(outputStream* st) {
204 st->print("rlimit:");
205 struct rlimit rlim;
206
207 st->print(" STACK ");
208 getrlimit(RLIMIT_STACK, &rlim);
209 if (rlim.rlim_cur == RLIM_INFINITY) st->print("infinity");
210 else st->print("%luk", rlim.rlim_cur >> 10);
211
212 st->print(", CORE ");
213 getrlimit(RLIMIT_CORE, &rlim);
214 if (rlim.rlim_cur == RLIM_INFINITY) st->print("infinity");
215 else st->print("%luk", rlim.rlim_cur >> 10);
216
217 // Isn't there on solaris
218 #if !defined(SOLARIS) && !defined(AIX)
219 st->print(", NPROC ");
220 getrlimit(RLIMIT_NPROC, &rlim);
221 if (rlim.rlim_cur == RLIM_INFINITY) st->print("infinity");
222 else st->print("%lu", rlim.rlim_cur);
223 #endif
224
225 st->print(", NOFILE ");
226 getrlimit(RLIMIT_NOFILE, &rlim);
227 if (rlim.rlim_cur == RLIM_INFINITY) st->print("infinity");
228 else st->print("%lu", rlim.rlim_cur);
229
230 st->print(", AS ");
231 getrlimit(RLIMIT_AS, &rlim);
232 if (rlim.rlim_cur == RLIM_INFINITY) st->print("infinity");
233 else st->print("%luk", rlim.rlim_cur >> 10);
234 st->cr();
235 }
236
237 void os::Posix::print_uname_info(outputStream* st) {
238 // kernel
239 st->print("uname:");
240 struct utsname name;
241 uname(&name);
242 st->print("%s ", name.sysname);
243 #ifdef ASSERT
244 st->print("%s ", name.nodename);
245 #endif
246 st->print("%s ", name.release);
247 st->print("%s ", name.version);
248 st->print("%s", name.machine);
249 st->cr();
250 }
251
252 bool os::get_host_name(char* buf, size_t buflen) {
253 struct utsname name;
|
190
191 struct tm* os::gmtime_pd(const time_t* clock, struct tm* res) {
192 return gmtime_r(clock, res);
193 }
194
195 void os::Posix::print_load_average(outputStream* st) {
196 st->print("load average:");
197 double loadavg[3];
198 os::loadavg(loadavg, 3);
199 st->print("%0.02f %0.02f %0.02f", loadavg[0], loadavg[1], loadavg[2]);
200 st->cr();
201 }
202
203 void os::Posix::print_rlimit_info(outputStream* st) {
204 st->print("rlimit:");
205 struct rlimit rlim;
206
207 st->print(" STACK ");
208 getrlimit(RLIMIT_STACK, &rlim);
209 if (rlim.rlim_cur == RLIM_INFINITY) st->print("infinity");
210 else st->print(UINT64_FORMAT "k", u8(rlim.rlim_cur) >> 10);
211
212 st->print(", CORE ");
213 getrlimit(RLIMIT_CORE, &rlim);
214 if (rlim.rlim_cur == RLIM_INFINITY) st->print("infinity");
215 else st->print(UINT64_FORMAT "k", u8(rlim.rlim_cur) >> 10);
216
217 // Isn't there on solaris
218 #if !defined(SOLARIS) && !defined(AIX)
219 st->print(", NPROC ");
220 getrlimit(RLIMIT_NPROC, &rlim);
221 if (rlim.rlim_cur == RLIM_INFINITY) st->print("infinity");
222 else st->print(UINT64_FORMAT, u8(rlim.rlim_cur));
223 #endif
224
225 st->print(", NOFILE ");
226 getrlimit(RLIMIT_NOFILE, &rlim);
227 if (rlim.rlim_cur == RLIM_INFINITY) st->print("infinity");
228 else st->print(UINT64_FORMAT, u8(rlim.rlim_cur));
229
230 st->print(", AS ");
231 getrlimit(RLIMIT_AS, &rlim);
232 if (rlim.rlim_cur == RLIM_INFINITY) st->print("infinity");
233 else st->print(UINT64_FORMAT "k", u8(rlim.rlim_cur) >> 10);
234 st->cr();
235 }
236
237 void os::Posix::print_uname_info(outputStream* st) {
238 // kernel
239 st->print("uname:");
240 struct utsname name;
241 uname(&name);
242 st->print("%s ", name.sysname);
243 #ifdef ASSERT
244 st->print("%s ", name.nodename);
245 #endif
246 st->print("%s ", name.release);
247 st->print("%s ", name.version);
248 st->print("%s", name.machine);
249 st->cr();
250 }
251
252 bool os::get_host_name(char* buf, size_t buflen) {
253 struct utsname name;
|