Skip site navigation (1)Skip section navigation (2)
Date:      Wed, 3 Feb 2016 20:56:05 -0500
From:      Ultima <ultima1252@gmail.com>
To:        Eric van Gyzen <vangyzen@freebsd.org>
Cc:        freebsd-current@freebsd.org
Subject:   Re: Kernel memory leak with x11/nvidia-driver
Message-ID:  <CANJ8om59KQqpF4tDXJR0RO80SaUwXWFx9g%2BuPguRKLgAgmU_1A@mail.gmail.com>
In-Reply-To: <CANJ8om6SkR2BXNT=Ws1k9GY89d6pw-WDqQfv46Wa3MuaE9Yj3Q@mail.gmail.com>
References:  <56B230CB.3050600@FreeBSD.org> <56B257E1.9070000@FreeBSD.org> <CANJ8om6SkR2BXNT=Ws1k9GY89d6pw-WDqQfv46Wa3MuaE9Yj3Q@mail.gmail.com>

next in thread | previous in thread | raw e-mail | index | archive | help
Just tested your script, there is definitely a memory leak.

 I also ran into really weird behavior. Running your script
in tmux after starting and stopping an xorg session a few,
tmux completely froze in the session. Creating a new
window in the session was also completely frozen,
however this is only visually as commands still worked,
just showed a blank black screen.

Also unloading the kernel modules for
nvidia and nvidia-modeset (new as of 358.16ish) did
not free the memory.

On Wed, Feb 3, 2016 at 8:24 PM, Ultima <ultima1252@gmail.com> wrote:

>  Apologies, this should have been in my initial reply.
>
> https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=201340
> or here for attachment
> https://bz-attachments.freebsd.org/attachment.cgi?id=165694
>
> I haven't actually had a chance to do anything after upgrading
> from stable other than see the corrupted console for myself.
> Lack of time =/
>
> On Wed, Feb 3, 2016 at 2:41 PM, Eric van Gyzen <vangyzen@freebsd.org>
> wrote:
>
>> On 02/03/2016 10:54, Eric van Gyzen wrote:
>> > I just set up a new desktop running head with x11/nvidia-driver.  I've
>> > discovered a memory leak where pages disappear from the queues, never to
>> > return.  Specifically, the total of
>> >     v_active_count
>> >     v_inactive_count
>> >     v_wire_count
>> >     v_cache_count
>> >     v_free_count
>> > drops, eventually becoming /much/ less than v_page_count.
>>
>> Here is a script to log the data:
>>
>> #!/bin/sh
>>
>> readonly QUEUES="active inactive wire cache free total"
>> readonly FORMAT="%s\t%s\t%s\t%s\t%s\t%s\n"
>>
>> vm_page_counts() {
>>     for queue in $QUEUES; do
>>         if [ "$queue" != "total" ]; then
>>             sysctl -n vm.stats.vm.v_${queue}_count
>>         fi
>>     done
>> }
>>
>> sum() {
>>     s=0
>>     while [ $# -gt 0 ]; do
>>         s=$((s + $1))
>>         shift
>>     done
>>     echo $s
>> }
>>
>> print_counts() {
>>     counts="`vm_page_counts`"
>>     printf "$FORMAT" $counts `sum $counts`
>> }
>>
>> printf "$FORMAT" $QUEUES
>> print_counts
>> while sleep 60; do
>>     print_counts
>> done
>>
>> _______________________________________________
>> freebsd-current@freebsd.org mailing list
>> https://lists.freebsd.org/mailman/listinfo/freebsd-current
>> To unsubscribe, send any mail to "freebsd-current-unsubscribe@freebsd.org
>> "
>>
>
>



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?CANJ8om59KQqpF4tDXJR0RO80SaUwXWFx9g%2BuPguRKLgAgmU_1A>