mirror of
https://github.com/Llewellynvdm/conky.git
synced 2024-12-24 11:55:43 +00:00
FreeBSD: Additional memory reporting variables.
This commit is contained in:
parent
1524755968
commit
14bae13f81
5
AUTHORS
5
AUTHORS
@ -175,6 +175,11 @@ J
|
||||
Some cleaning and commenting apparently :)
|
||||
SIGHUP config file reload
|
||||
|
||||
K. Eugene Carlson <kvngncrlsn at gmail dot com>
|
||||
Additional Linux memory reporting variables
|
||||
Linux CPU frequency governor reporting
|
||||
Additional FreeBSD memory reporting variables
|
||||
|
||||
Kapil Hari Paranjape <kapil@imsc.res.in>
|
||||
ibm_volume patch
|
||||
kFreeBSD support patch
|
||||
|
@ -1195,6 +1195,8 @@ values:
|
||||
- mbox
|
||||
- name: mem
|
||||
desc: Amount of memory in use.
|
||||
- name: memactive
|
||||
desc: Amount of active memory. FreeBSD only.
|
||||
- name: memavail
|
||||
desc: Amount of available memory as recorded in /proc/meminfo. Linux 3.14+ only.
|
||||
- name: membar
|
||||
@ -1226,10 +1228,16 @@ values:
|
||||
- (scale)
|
||||
- (-t)
|
||||
- (-l)
|
||||
- name: meminactive
|
||||
desc: Amount of inactive memory. FreeBSD only.
|
||||
- name: memlaundry
|
||||
desc: Amount of memory in laundry. FreeBSD only.
|
||||
- name: memmax
|
||||
desc: Total amount of memory.
|
||||
- name: memperc
|
||||
desc: Percentage of memory in use.
|
||||
- name: memwired
|
||||
desc: Amount of wired memory. FreeBSD only.
|
||||
- name: memwithbuffers
|
||||
desc: |-
|
||||
Amount of memory in use, including that used by system
|
||||
|
@ -396,11 +396,15 @@ PRINT_HR_GENERATOR(mem)
|
||||
PRINT_HR_GENERATOR(memwithbuffers)
|
||||
PRINT_HR_GENERATOR(memeasyfree)
|
||||
PRINT_HR_GENERATOR(legacymem)
|
||||
PRINT_HR_GENERATOR(memactive)
|
||||
PRINT_HR_GENERATOR(meminactive)
|
||||
PRINT_HR_GENERATOR(memfree)
|
||||
PRINT_HR_GENERATOR(memmax)
|
||||
PRINT_HR_GENERATOR(memdirty)
|
||||
PRINT_HR_GENERATOR(shmem)
|
||||
PRINT_HR_GENERATOR(memavail)
|
||||
PRINT_HR_GENERATOR(memwired)
|
||||
PRINT_HR_GENERATOR(memlaundry)
|
||||
PRINT_HR_GENERATOR(swap)
|
||||
PRINT_HR_GENERATOR(swapfree)
|
||||
PRINT_HR_GENERATOR(swapmax)
|
||||
@ -640,7 +644,7 @@ void print_battery_time(struct text_object *obj, char *p,
|
||||
}
|
||||
|
||||
void battery_power_draw(struct text_object *obj, char *p,
|
||||
unsigned int p_max_size) {
|
||||
unsigned int p_max_size) {
|
||||
get_battery_power_draw(p, p_max_size, obj->data.s);
|
||||
}
|
||||
|
||||
|
@ -109,6 +109,10 @@ void print_memeasyfree(struct text_object *, char *, unsigned int);
|
||||
void print_legacymem(struct text_object *, char *, unsigned int);
|
||||
void print_memfree(struct text_object *, char *, unsigned int);
|
||||
void print_memmax(struct text_object *, char *, unsigned int);
|
||||
void print_memactive(struct text_object *, char *, unsigned int);
|
||||
void print_meminactive(struct text_object *, char *, unsigned int);
|
||||
void print_memwired(struct text_object *, char *, unsigned int);
|
||||
void print_memlaundry(struct text_object *, char *, unsigned int);
|
||||
void print_memdirty(struct text_object *, char *, unsigned int);
|
||||
void print_shmem(struct text_object *, char *, unsigned int);
|
||||
void print_memavail(struct text_object *, char *, unsigned int);
|
||||
|
@ -166,7 +166,8 @@ struct information {
|
||||
|
||||
/* memory information in kilobytes */
|
||||
unsigned long long mem, memwithbuffers, memavail, memeasyfree, memfree,
|
||||
memmax, memdirty, shmem, legacymem;
|
||||
memmax, memdirty, shmem, legacymem, memactive, meminactive, memwired,
|
||||
memlaundry;
|
||||
unsigned long long swap, swapfree, swapmax;
|
||||
unsigned long long bufmem, buffers, cached, free_bufcache;
|
||||
|
||||
|
14
src/core.cc
14
src/core.cc
@ -1226,6 +1226,20 @@ struct text_object *construct_text_object(char *s, const char *arg, long line,
|
||||
obj->callbacks.print = &print_free_bufcache;
|
||||
obj->callbacks.free = &gen_free_opaque;
|
||||
#endif /* __linux__ */
|
||||
#ifdef __FreeBSD__
|
||||
END OBJ(memactive, &update_meminfo) obj->data.s = STRNDUP_ARG;
|
||||
obj->callbacks.print = &print_memactive;
|
||||
obj->callbacks.free = &gen_free_opaque;
|
||||
END OBJ(meminactive, &update_meminfo) obj->data.s = STRNDUP_ARG;
|
||||
obj->callbacks.print = &print_meminactive;
|
||||
obj->callbacks.free = &gen_free_opaque;
|
||||
END OBJ(memwired, &update_meminfo) obj->data.s = STRNDUP_ARG;
|
||||
obj->callbacks.print = &print_memwired;
|
||||
obj->callbacks.free = &gen_free_opaque;
|
||||
END OBJ(memlaundry, &update_meminfo) obj->data.s = STRNDUP_ARG;
|
||||
obj->callbacks.print = &print_memlaundry;
|
||||
obj->callbacks.free = &gen_free_opaque;
|
||||
#endif /* __FreeBSD__ */
|
||||
#ifdef BUILD_GUI
|
||||
END OBJ(memgauge, &update_meminfo) scan_gauge(obj, arg, 1);
|
||||
obj->callbacks.gaugeval = &mem_barval;
|
||||
|
@ -149,7 +149,8 @@ int check_mount(struct text_object *obj) {
|
||||
}
|
||||
|
||||
int update_meminfo(void) {
|
||||
u_int total_pages, inactive_pages, free_pages;
|
||||
u_int total_pages, inactive_pages, free_pages, wire_pages, active_pages,
|
||||
bufferspace, laundry_pages;
|
||||
unsigned long swap_avail, swap_free;
|
||||
|
||||
int pagesize = getpagesize();
|
||||
@ -166,11 +167,33 @@ int update_meminfo(void) {
|
||||
fprintf(stderr, "Cannot read sysctl \"vm.stats.vm.v_inactive_count\"\n");
|
||||
}
|
||||
|
||||
if (GETSYSCTL("vm.stats.vm.v_wire_count", wire_pages)) {
|
||||
fprintf(stderr, "Cannot read sysctl \"vm.stats.vm.v_wire_count\"\n");
|
||||
}
|
||||
|
||||
if (GETSYSCTL("vm.stats.vm.v_active_count", active_pages)) {
|
||||
fprintf(stderr, "Cannot read sysctl \"vm.stats.vm.v_active_count\"\n");
|
||||
}
|
||||
|
||||
if (GETSYSCTL("vfs.bufspace", bufferspace)) {
|
||||
fprintf(stderr, "Cannot read sysctl \"vfs.bufspace\"\n");
|
||||
}
|
||||
|
||||
if (GETSYSCTL("vm.stats.vm.v_laundry_count", laundry_pages)) {
|
||||
fprintf(stderr, "Cannot read sysctl \"vm.stats.vm.v_laundry_count\"\n");
|
||||
}
|
||||
|
||||
info.memmax = total_pages * (pagesize >> 10);
|
||||
info.mem = (total_pages - free_pages - inactive_pages) * (pagesize >> 10);
|
||||
info.memwithbuffers = info.mem;
|
||||
info.memeasyfree = info.memfree = info.memmax - info.mem;
|
||||
info.memeasyfree = info.memmax - info.mem;
|
||||
info.memfree = free_pages * (pagesize >> 10);
|
||||
info.legacymem = info.mem;
|
||||
info.memwired = wire_pages * (pagesize >> 10);
|
||||
info.memactive = active_pages * (pagesize >> 10);
|
||||
info.meminactive = inactive_pages * (pagesize >> 10);
|
||||
info.memlaundry = laundry_pages * (pagesize >> 10);
|
||||
info.buffers = bufferspace / 1024;
|
||||
|
||||
if ((swapmode(&swap_avail, &swap_free)) >= 0) {
|
||||
info.swapmax = swap_avail;
|
||||
|
Loading…
Reference in New Issue
Block a user